Mercurial > hg > orthanc
diff OrthancServer/Sources/OrthancInitialization.cpp @ 4273:0034f855c023
tuning log categories from command-line, and binary compat with orthanc framework 1.7.2
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 03 Nov 2020 12:24:50 +0100 |
parents | b289a1234822 |
children | 58e757ded69e |
line wrap: on
line diff
--- a/OrthancServer/Sources/OrthancInitialization.cpp Tue Nov 03 07:19:33 2020 +0100 +++ b/OrthancServer/Sources/OrthancInitialization.cpp Tue Nov 03 12:24:50 2020 +0100 @@ -394,4 +394,89 @@ { return CreateFilesystemStorage(); } + + + void SetGlobalVerbosity(Verbosity verbosity) + { + switch (verbosity) + { + case Verbosity_Default: + Logging::EnableInfoLevel(false); + Logging::EnableTraceLevel(false); + break; + + case Verbosity_Verbose: + Logging::EnableInfoLevel(true); + Logging::EnableTraceLevel(false); + break; + + case Verbosity_Trace: + Logging::EnableInfoLevel(true); + Logging::EnableTraceLevel(true); + break; + + default: + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + } + + + Verbosity GetGlobalVerbosity() + { + if (Logging::IsTraceLevelEnabled()) + { + return Verbosity_Trace; + } + else if (Logging::IsInfoLevelEnabled()) + { + return Verbosity_Verbose; + } + else + { + return Verbosity_Default; + } + } + + + void SetCategoryVerbosity(Logging::LogCategory category, + Verbosity verbosity) + { + switch (verbosity) + { + case Verbosity_Default: + Logging::SetCategoryEnabled(Logging::LogLevel_INFO, category, false); + Logging::SetCategoryEnabled(Logging::LogLevel_TRACE, category, false); + break; + + case Verbosity_Verbose: + Logging::SetCategoryEnabled(Logging::LogLevel_INFO, category, true); + Logging::SetCategoryEnabled(Logging::LogLevel_TRACE, category, false); + break; + + case Verbosity_Trace: + Logging::SetCategoryEnabled(Logging::LogLevel_INFO, category, true); + Logging::SetCategoryEnabled(Logging::LogLevel_TRACE, category, true); + break; + + default: + throw OrthancException(ErrorCode_ParameterOutOfRange); + } + } + + + Verbosity GetCategoryVerbosity(Logging::LogCategory category) + { + if (Logging::IsCategoryEnabled(Logging::LogLevel_TRACE, category)) + { + return Verbosity_Trace; + } + else if (Logging::IsCategoryEnabled(Logging::LogLevel_INFO, category)) + { + return Verbosity_Verbose; + } + else + { + return Verbosity_Default; + } + } }