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