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)); } }