Added Set Log Level Commands
This commit is contained in:
@@ -99,6 +99,11 @@ bool ConfigManager::begin() {
|
||||
LOG_INFO("ConfigManager: Creating default clock state file");
|
||||
saveClockState();
|
||||
}
|
||||
|
||||
if (!loadGeneralConfig()) {
|
||||
LOG_INFO("ConfigManager: Creating default general config file");
|
||||
saveGeneralConfig();
|
||||
}
|
||||
|
||||
LOG_INFO("ConfigManager: Initialization complete - UID: %s, Hostname: %s",
|
||||
deviceConfig.deviceUID.c_str(), networkConfig.hostname.c_str());
|
||||
@@ -1000,3 +1005,77 @@ String ConfigManager::getAllSettingsAsJson() const {
|
||||
serializeJson(doc, output);
|
||||
return output;
|
||||
}
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════════
|
||||
// GENERAL CONFIGURATION - LOG LEVELS
|
||||
// ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
bool ConfigManager::setSerialLogLevel(uint8_t level) {
|
||||
if (level > 5) { // Max level is VERBOSE (5)
|
||||
LOG_WARNING("ConfigManager: Invalid serial log level %d, valid range is 0-5", level);
|
||||
return false;
|
||||
}
|
||||
generalConfig.serialLogLevel = level;
|
||||
LOG_INFO("ConfigManager: Serial log level set to %d", level);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConfigManager::setSdLogLevel(uint8_t level) {
|
||||
if (level > 5) { // Max level is VERBOSE (5)
|
||||
LOG_WARNING("ConfigManager: Invalid SD log level %d, valid range is 0-5", level);
|
||||
return false;
|
||||
}
|
||||
generalConfig.sdLogLevel = level;
|
||||
LOG_INFO("ConfigManager: SD log level set to %d", level);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConfigManager::loadGeneralConfig() {
|
||||
if (!ensureSDCard()) return false;
|
||||
|
||||
File file = SD.open("/settings/generalConfig.json", FILE_READ);
|
||||
if (!file) {
|
||||
LOG_WARNING("ConfigManager: General config file not found - using defaults");
|
||||
return false;
|
||||
}
|
||||
|
||||
StaticJsonDocument<256> doc;
|
||||
DeserializationError error = deserializeJson(doc, file);
|
||||
file.close();
|
||||
|
||||
if (error) {
|
||||
LOG_ERROR("ConfigManager: Failed to parse general config from SD: %s", error.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (doc.containsKey("serialLogLevel")) {
|
||||
generalConfig.serialLogLevel = doc["serialLogLevel"].as<uint8_t>();
|
||||
}
|
||||
if (doc.containsKey("sdLogLevel")) {
|
||||
generalConfig.sdLogLevel = doc["sdLogLevel"].as<uint8_t>();
|
||||
}
|
||||
|
||||
LOG_INFO("ConfigManager: General config loaded - Serial log level: %d, SD log level: %d",
|
||||
generalConfig.serialLogLevel, generalConfig.sdLogLevel);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ConfigManager::saveGeneralConfig() {
|
||||
if (!ensureSDCard()) return false;
|
||||
|
||||
StaticJsonDocument<256> doc;
|
||||
doc["serialLogLevel"] = generalConfig.serialLogLevel;
|
||||
doc["sdLogLevel"] = generalConfig.sdLogLevel;
|
||||
|
||||
char buffer[256];
|
||||
size_t len = serializeJson(doc, buffer, sizeof(buffer));
|
||||
|
||||
if (len == 0 || len >= sizeof(buffer)) {
|
||||
LOG_ERROR("ConfigManager: Failed to serialize general config JSON");
|
||||
return false;
|
||||
}
|
||||
|
||||
saveFileToSD("/settings", "generalConfig.json", buffer);
|
||||
LOG_INFO("ConfigManager: General config saved");
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user