addLogLevel now plays nice with having called setLogLevel before.

This commit is contained in:
SchoenleAndi 2016-12-05 10:17:38 +01:00
parent 323ca8e7ce
commit a1748ce66b
2 changed files with 7 additions and 6 deletions

View File

@ -115,7 +115,7 @@ namespace g3 {
namespace only_change_at_initialization { namespace only_change_at_initialization {
// Enable/Disable a log level {DEBUG,INFO,WARNING,FATAL} // Enable/Disable a log level {DEBUG,INFO,WARNING,FATAL}
void setLogLevel(LEVELS level, bool enabled_status); void setLogLevel(LEVELS level, bool enabled_status);
void addLogLevel(LEVELS log_level); void addLogLevel(LEVELS level, bool default_enabled_status = true);
std::string printLevels(); std::string printLevels();
void reset(); void reset();

View File

@ -47,14 +47,15 @@ namespace g3 {
#ifdef G3_DYNAMIC_LOGGING #ifdef G3_DYNAMIC_LOGGING
namespace only_change_at_initialization { namespace only_change_at_initialization {
void setLogLevel(LEVELS log_level, bool enabled) { void setLogLevel(LEVELS log_level, bool enabled_status) {
int level = log_level.value; int level = log_level.value;
internal::g_log_level_status[level].get().store(enabled, std::memory_order_release); internal::g_log_level_status[level].get().store(enabled_status, std::memory_order_release);
} }
void addLogLevel(LEVELS log_level) { void addLogLevel(LEVELS log_level, bool default_enabled_status) {
internal::g_default_log_level_status[log_level.value].get().store(true, std::memory_order_release); internal::g_default_log_level_status[log_level.value].get().store(default_enabled_status, std::memory_order_release);
internal::g_log_level_status[log_level.value].get().store(true, std::memory_order_release); if (! internal::g_log_level_status.count(log_level.value))
setLogLevel(log_level, default_enabled_status);
} }
std::string printLevels() { std::string printLevels() {