From bb800a1dacfada10ac7ec09923539c35d9fa06cf Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Thu, 24 Apr 2025 17:13:30 +0200 Subject: [PATCH] Apply log level only for facilities which are available for configuration --- src/Logging.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Logging.cpp b/src/Logging.cpp index 8bdb0216..95ffd28d 100644 --- a/src/Logging.cpp +++ b/src/Logging.cpp @@ -7,6 +7,9 @@ LoggingClass Logging; +#undef TAG +static const char* TAG = "logging"; + LoggingClass::LoggingClass() { _configurableModules.reserve(3); @@ -24,14 +27,21 @@ const std::vector& LoggingClass::getConfigurableModules() const void LoggingClass::applyLogLevels() { - const CONFIG_T& config = Configuration.get(); + const auto& config = Configuration.get().Logging; + + ESP_LOGD(TAG, "Set default log level: %" PRId8, config.Default); + esp_log_level_set("*", static_cast(config.Default)); - esp_log_level_set("*", static_cast(config.Logging.Default)); for (int8_t i = 0; i < LOG_MODULE_COUNT; i++) { - if (strlen(config.Logging.Modules[i].Name) == 0 || config.Logging.Modules[i].Level < ESP_LOG_NONE || config.Logging.Modules[i].Level > ESP_LOG_VERBOSE) { + bool isValidModule = std::find(_configurableModules.begin(), _configurableModules.end(), config.Modules[i].Name) != _configurableModules.end(); + if (!isValidModule + || strlen(config.Modules[i].Name) == 0 + || config.Modules[i].Level < ESP_LOG_NONE + || config.Modules[i].Level > ESP_LOG_VERBOSE) { continue; } - esp_log_level_set(config.Logging.Modules[i].Name, static_cast(config.Logging.Modules[i].Level)); + ESP_LOGD(TAG, "Set log level for %s: %" PRId8, config.Modules[i].Name, config.Modules[i].Level); + esp_log_level_set(config.Modules[i].Name, static_cast(config.Modules[i].Level)); } }