From 437b76897aa9ae0355140d09deb60080975005c9 Mon Sep 17 00:00:00 2001 From: andreas Date: Tue, 4 Mar 2025 20:48:02 +0100 Subject: [PATCH] #101: avoid logging errors for all unset config items --- lib/config/GWConfig.cpp | 26 +++++++++++++++----------- lib/config/GWConfig.h | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/config/GWConfig.cpp b/lib/config/GWConfig.cpp index b372d3d..692b58a 100644 --- a/lib/config/GWConfig.cpp +++ b/lib/config/GWConfig.cpp @@ -27,18 +27,19 @@ class DummyConfig : public GwConfigInterface{ }; DummyConfig dummyConfig; -String GwConfigHandler::toString() const{ - String rt; - rt+="Config: "; - for (int i=0;igetName(); - rt+="="; - rt+=configs[i]->asString(); - rt+=", "; - } - return rt; +void GwConfigHandler::logConfig(int level) const +{ + if (!logger->isActive(level)) + return; + for (int i = 0; i < getNumConfig(); i++) + { + String v=configs[i]->asString(); + bool isChanged=v != configs[i]->getDefault(); + logger->logDebug(level, "Config[%s]%s='%s'", configs[i]->getName().c_str(),isChanged?"*":"", configs[i]->isSecret() ? "***" : configs[i]->asString().c_str()); + if ((i%20) == 19) logger->flush(); } - + logger->flush(); +} String GwConfigHandler::toJson() const{ String rt; int num=getNumConfig(); @@ -80,6 +81,9 @@ GwConfigHandler::~GwConfigHandler(){ bool GwConfigHandler::loadConfig(){ prefs->begin(PREF_NAME,true); for (int i=0;iisKey(configs[i]->getName().c_str())) { + continue; + } String v=prefs->getString(configs[i]->getName().c_str(),configs[i]->getDefault()); configs[i]->value=v; } diff --git a/lib/config/GWConfig.h b/lib/config/GWConfig.h index eb2a095..1f50ca3 100644 --- a/lib/config/GWConfig.h +++ b/lib/config/GWConfig.h @@ -22,7 +22,7 @@ class GwConfigHandler: public GwConfigDefinitions{ void stopChanges(); bool updateValue(String name, String value); bool reset(); - String toString() const; + void logConfig(int level) const; String toJson() const; String getString(const String name,const String defaultv="") const; bool getBool(const String name,bool defaultv=false) const ;