From b003a9b6957ae602657eb6ef38a03c191863cbaf Mon Sep 17 00:00:00 2001 From: Alexey Rybalchenko Date: Wed, 17 Jun 2020 21:41:36 +0200 Subject: [PATCH] Fixes for the updated severity order --- logger/Logger.cxx | 55 ++++++++++++++++++++++++----------------------- logger/Logger.h | 44 ++++++++++++++++++------------------- 2 files changed, 50 insertions(+), 49 deletions(-) diff --git a/logger/Logger.cxx b/logger/Logger.cxx index 016c95d..7410d8b 100644 --- a/logger/Logger.cxx +++ b/logger/Logger.cxx @@ -112,17 +112,17 @@ const array Logger::fSeverityNames = { { "NOLOG", - "FATAL", - "ERROR", - "WARN", - "STATE", - "INFO", - "DEBUG", - "DEBUG1", - "DEBUG2", - "DEBUG3", + "TRACE", "DEBUG4", - "TRACE" + "DEBUG3", + "DEBUG2", + "DEBUG1", + "DEBUG", + "INFO", + "STATE", + "WARN", + "ERROR", + "FATAL" } }; @@ -425,25 +425,26 @@ void Logger::CycleVerbosityDown() void Logger::UpdateMinSeverity() { - fMinSeverity = (fConsoleSeverity <= fFileSeverity) ? fFileSeverity : fConsoleSeverity; + if (fFileSeverity == Severity::nolog) { + fMinSeverity = fConsoleSeverity; + } else { + fMinSeverity = std::min(fConsoleSeverity, fFileSeverity); + } for (auto& it : fCustomSinks) { - if (fMinSeverity <= it.second.first) { - fMinSeverity = it.second.first; + if (fMinSeverity == Severity::nolog) { + fMinSeverity = std::max(fMinSeverity, it.second.first); + } else if (it.second.first != Severity::nolog) { + fMinSeverity = std::min(fMinSeverity, it.second.first); } } } bool Logger::Logging(Severity severity) { - if (Severity::fatal == severity) { - return true; - } - if (severity <= fMinSeverity && severity > Severity::nolog) { - return true; - } else { - return false; - } + return (severity >= fMinSeverity && + fMinSeverity > Severity::nolog) || + severity == Severity::fatal; } bool Logger::Logging(const string& severityStr) @@ -548,22 +549,22 @@ void Logger::RemoveFileSink() bool Logger::LoggingToConsole() const { - return (fInfos.severity <= fConsoleSeverity && - fInfos.severity > Severity::nolog) || + return (fInfos.severity >= fConsoleSeverity && + fConsoleSeverity > Severity::nolog) || fInfos.severity == Severity::fatal; } bool Logger::LoggingToFile() const { - return (fInfos.severity <= fFileSeverity && - fInfos.severity > Severity::nolog) || + return (fInfos.severity >= fFileSeverity && + fFileSeverity > Severity::nolog) || fInfos.severity == Severity::fatal; } bool Logger::LoggingCustom(const Severity severity) const { - return (fInfos.severity <= severity && - fInfos.severity > Severity::nolog) || + return (fInfos.severity >= severity && + severity > Severity::nolog) || fInfos.severity == Severity::fatal; } diff --git a/logger/Logger.h b/logger/Logger.h index b69c763..4036a7f 100644 --- a/logger/Logger.h +++ b/logger/Logger.h @@ -51,32 +51,32 @@ namespace fair enum class Severity : int { nolog = 0, - fatal = 11, - error = 10, - warn = 9, - state = 8, - info = 7, - debug = 6, - debug1 = 5, - debug2 = 4, - debug3 = 3, - debug4 = 2, trace = 1, + debug4 = 2, + debug3 = 3, + debug2 = 4, + debug1 = 5, + debug = 6, + info = 7, + state = 8, + warn = 9, + error = 10, + fatal = 11, // backwards-compatibility: NOLOG = nolog, - FATAL = fatal, - ERROR = error, - WARN = warn, - warning = warn, - WARNING = warn, - STATE = state, - INFO = info, - DEBUG = debug, - DEBUG1 = debug1, - DEBUG2 = debug2, - DEBUG3 = debug3, + TRACE = trace, DEBUG4 = debug4, - TRACE = trace + DEBUG3 = debug3, + DEBUG2 = debug2, + DEBUG1 = debug1, + DEBUG = debug, + INFO = info, + STATE = state, + WARNING = warn, + warning = warn, + WARN = warn, + ERROR = error, + FATAL = fatal }; // verbosity levels: