mirror of
https://github.com/FairRootGroup/FairLogger.git
synced 2025-10-13 08:41:12 +00:00
Suppress LOG messages with debug severity or less at compile time for release builds
This commit is contained in:
parent
cdf887f5da
commit
639b287004
|
@ -13,6 +13,10 @@
|
|||
#warning "The symbol 'DEBUG' is used in FairRoot Logger. undefining..."
|
||||
#endif
|
||||
|
||||
#if !defined(FAIR_MIN_SEVERITY) && defined(NDEBUG)
|
||||
#define FAIR_MIN_SEVERITY info
|
||||
#endif
|
||||
|
||||
#ifdef FAIRLOGGER_USE_BOOST_PRETTY_FUNCTION
|
||||
#include <boost/current_function.hpp>
|
||||
#endif
|
||||
|
@ -46,18 +50,18 @@ namespace fair
|
|||
|
||||
enum class Severity : int
|
||||
{
|
||||
nolog,
|
||||
fatal,
|
||||
error,
|
||||
warn,
|
||||
state,
|
||||
info,
|
||||
debug,
|
||||
debug1,
|
||||
debug2,
|
||||
debug3,
|
||||
debug4,
|
||||
trace,
|
||||
nolog = 0,
|
||||
fatal = 11,
|
||||
error = 10,
|
||||
warn = 9,
|
||||
state = 8,
|
||||
info = 7,
|
||||
debug = 6,
|
||||
debug1 = 5,
|
||||
debug2 = 4,
|
||||
debug3 = 3,
|
||||
debug4 = 2,
|
||||
trace = 1,
|
||||
// backwards-compatibility:
|
||||
NOLOG = nolog,
|
||||
FATAL = fatal,
|
||||
|
@ -313,6 +317,15 @@ class Logger
|
|||
static bool fIsDestructed;
|
||||
static struct DestructionHelper { ~DestructionHelper() { Logger::fIsDestructed = true; }} fDestructionHelper;
|
||||
|
||||
static bool constexpr SuppressSeverity(Severity sev)
|
||||
{
|
||||
#ifdef FAIR_MIN_SEVERITY
|
||||
return sev < Severity::FAIR_MIN_SEVERITY;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
private:
|
||||
LogMetaData fInfos;
|
||||
|
||||
|
@ -394,13 +407,15 @@ class Logger
|
|||
|
||||
// Log line if the provided severity is below or equals the configured one
|
||||
#define FAIR_LOG(severity) \
|
||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||
fair::Logger(fair::Severity::severity, MSG_ORIGIN)
|
||||
if (fair::Logger::SuppressSeverity(fair::Severity::severity)) ; else \
|
||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||
fair::Logger(fair::Severity::severity, MSG_ORIGIN)
|
||||
|
||||
// Log line with the given verbosity if the provided severity is below or equals the configured one
|
||||
#define FAIR_LOGV(severity, verbosity) \
|
||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||
fair::Logger(fair::Severity::severity, fair::Verbosity::verbosity, MSG_ORIGIN)
|
||||
if (fair::Logger::SuppressSeverity(fair::Severity::severity)) ; else \
|
||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||
fair::Logger(fair::Severity::severity, fair::Verbosity::verbosity, MSG_ORIGIN)
|
||||
|
||||
// Log with fmt- or printf-like formatting
|
||||
#define FAIR_LOGF(severity, ...) LOG(severity) << fmt::format(__VA_ARGS__)
|
||||
|
@ -408,16 +423,19 @@ class Logger
|
|||
|
||||
// Log an empty line
|
||||
#define FAIR_LOGN(severity) \
|
||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||
fair::Logger(fair::Severity::severity, fair::Verbosity::verylow, MSG_ORIGIN).LogEmptyLine()
|
||||
if (fair::Logger::SuppressSeverity(fair::Severity::severity)) ; else \
|
||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||
fair::Logger(fair::Severity::severity, fair::Verbosity::verylow, MSG_ORIGIN).LogEmptyLine()
|
||||
|
||||
// Log with custom file, line, function
|
||||
#define FAIR_LOGD(severity, file, line, f) \
|
||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||
fair::Logger(severity, file, line, f)
|
||||
if (fair::Logger::SuppressSeverity(severity)) ; else \
|
||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||
fair::Logger(severity, file, line, f)
|
||||
|
||||
#define FAIR_LOG_IF(severity, condition) \
|
||||
for (bool fairLOggerunLikelyvariable2 = false; condition && !fairLOggerunLikelyvariable2; fairLOggerunLikelyvariable2 = true) \
|
||||
LOG(severity)
|
||||
if (fair::Logger::SuppressSeverity(fair::Severity::severity)) ; else \
|
||||
for (bool fairLOggerunLikelyvariable2 = false; condition && !fairLOggerunLikelyvariable2; fairLOggerunLikelyvariable2 = true) \
|
||||
LOG(severity)
|
||||
|
||||
#endif // FAIR_LOGGER_H
|
||||
|
|
Loading…
Reference in New Issue
Block a user