diff --git a/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.cc b/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.cc index 164e4c3157f62..a39d0d71216b0 100644 --- a/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.cc +++ b/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.cc @@ -441,7 +441,6 @@ void QnnLogging(const char* format, QnnLog_Level_t level, uint64_t timestamp, va_list argument_parameter) { - ORT_UNUSED_PARAMETER(level); ORT_UNUSED_PARAMETER(timestamp); if (!::onnxruntime::logging::LoggingManager::HasDefaultLogger()) { @@ -451,7 +450,8 @@ void QnnLogging(const char* format, } const auto& logger = ::onnxruntime::logging::LoggingManager::DefaultLogger(); - const auto severity = ::onnxruntime::logging::Severity::kVERBOSE; + // Map QNN log level to ORT severity + logging::Severity severity = QnnBackendManager::MapQNNLogLevelToOrtSeverity(level); const auto data_type = ::onnxruntime::logging::DataType::SYSTEM; if (logger.OutputIsEnabled(severity, data_type)) { @@ -525,6 +525,22 @@ QnnLog_Level_t QnnBackendManager::MapOrtSeverityToQNNLogLevel(logging::Severity } } +/* static */ logging::Severity QnnBackendManager::MapQNNLogLevelToOrtSeverity(QnnLog_Level_t qnn_log_level) { + // Map QNN log level to ORT log severity + switch (qnn_log_level) { + case QNN_LOG_LEVEL_VERBOSE: + case QNN_LOG_LEVEL_DEBUG: + return logging::Severity::kVERBOSE; + case QNN_LOG_LEVEL_INFO: + return logging::Severity::kINFO; + case QNN_LOG_LEVEL_WARN: + return logging::Severity::kWARNING; + case QNN_LOG_LEVEL_ERROR: + default: + return logging::Severity::kERROR; + } +} + Status QnnBackendManager::ResetQnnLogLevel(std::optional ort_log_level) { std::lock_guard lock(logger_recursive_mutex_); if (!backend_setup_completed_ || logger_ == nullptr) { diff --git a/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.h b/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.h index b1bf36b2f1f76..aff55321d18fd 100644 --- a/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.h +++ b/onnxruntime/core/providers/qnn/builder/qnn_backend_manager.h @@ -248,6 +248,9 @@ class QnnBackendManager : public std::enable_shared_from_this bool ProfilingEnabled() { return profiling_enabled_; } #endif + QnnLog_Level_t MapOrtSeverityToQNNLogLevel(logging::Severity ort_log_level); + static logging::Severity MapQNNLogLevelToOrtSeverity(QnnLog_Level_t qnn_log_level); + private: Status LoadBackend(); @@ -327,7 +330,6 @@ class QnnBackendManager : public std::enable_shared_from_this const char* QnnProfileErrorToString(QnnProfile_Error_t error); std::string QnnErrorHandleToString(Qnn_ErrorHandle_t error); - QnnLog_Level_t MapOrtSeverityToQNNLogLevel(logging::Severity ort_log_level); // Adds a new QNN context. // Transfers ownership of `context_handle` (i.e., responsibility of freeing it) to this instance