#101: avoid logging errors for all unset config items

This commit is contained in:
andreas 2025-03-04 20:48:02 +01:00
parent 2ab6a00883
commit 437b76897a
2 changed files with 16 additions and 12 deletions

View File

@ -27,18 +27,19 @@ class DummyConfig : public GwConfigInterface{
}; };
DummyConfig dummyConfig; DummyConfig dummyConfig;
String GwConfigHandler::toString() const{ void GwConfigHandler::logConfig(int level) const
String rt; {
rt+="Config: "; if (!logger->isActive(level))
for (int i=0;i<getNumConfig();i++){ return;
rt+=configs[i]->getName(); for (int i = 0; i < getNumConfig(); i++)
rt+="="; {
rt+=configs[i]->asString(); String v=configs[i]->asString();
rt+=", "; 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());
return rt; if ((i%20) == 19) logger->flush();
} }
logger->flush();
}
String GwConfigHandler::toJson() const{ String GwConfigHandler::toJson() const{
String rt; String rt;
int num=getNumConfig(); int num=getNumConfig();
@ -80,6 +81,9 @@ GwConfigHandler::~GwConfigHandler(){
bool GwConfigHandler::loadConfig(){ bool GwConfigHandler::loadConfig(){
prefs->begin(PREF_NAME,true); prefs->begin(PREF_NAME,true);
for (int i=0;i<getNumConfig();i++){ for (int i=0;i<getNumConfig();i++){
if (!prefs->isKey(configs[i]->getName().c_str())) {
continue;
}
String v=prefs->getString(configs[i]->getName().c_str(),configs[i]->getDefault()); String v=prefs->getString(configs[i]->getName().c_str(),configs[i]->getDefault());
configs[i]->value=v; configs[i]->value=v;
} }

View File

@ -22,7 +22,7 @@ class GwConfigHandler: public GwConfigDefinitions{
void stopChanges(); void stopChanges();
bool updateValue(String name, String value); bool updateValue(String name, String value);
bool reset(); bool reset();
String toString() const; void logConfig(int level) const;
String toJson() const; String toJson() const;
String getString(const String name,const String defaultv="") const; String getString(const String name,const String defaultv="") const;
bool getBool(const String name,bool defaultv=false) const ; bool getBool(const String name,bool defaultv=false) const ;