diff --git a/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.cc b/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.cc index 1cb3bf5c1e461..e4858923d501b 100644 --- a/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.cc +++ b/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.cc @@ -468,9 +468,7 @@ void QnnLogging(const char* format, } } -Status QnnBackendManager::InitializeQnnLog(const logging::Logger& logger) { - logger_ = &logger; - +Status QnnBackendManager::InitializeQnnLog() { // Set Qnn log level align with Ort log level auto ort_log_level = logger_->GetSeverity(); QnnLog_Level_t qnn_log_level = MapOrtSeverityToQNNLogLevel(ort_log_level); @@ -1564,6 +1562,8 @@ Status QnnBackendManager::SetupBackend(const logging::Logger& logger, std::unordered_map>>& context_bin_map, bool enable_htp_extended_udma_mode) { std::lock_guard lock(logger_recursive_mutex_); + if (logger_ != &logger) + logger_ = &logger; if (backend_setup_completed_) { LOGS(logger, VERBOSE) << "Backend setup already!"; @@ -1630,7 +1630,7 @@ Status QnnBackendManager::SetupBackend(const logging::Logger& logger, } if (status.IsOK()) { - status = InitializeQnnLog(logger); + status = InitializeQnnLog(); } if (status.IsOK()) { LOGS(logger, VERBOSE) << "SetLogger succeed."; diff --git a/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.h b/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.h index fe4ec0b7018a5..81c27a3826a4d 100644 --- a/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.h +++ b/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.h @@ -321,7 +321,7 @@ class QnnBackendManager : public std::enable_shared_from_this // Sets the ORT logger and creates a corresponding QNN logger with the same log level. // NOTE: caller must lock the `logger_recursive_mutex_` before calling this function. - Status InitializeQnnLog(const logging::Logger& logger); + Status InitializeQnnLog(); // Terminate logging in the backend // NOTE: This function locks the internal `logger_recursive_mutex_`.