diff --git a/logger/Logger.cxx b/logger/Logger.cxx index c124237..73527fa 100644 --- a/logger/Logger.cxx +++ b/logger/Logger.cxx @@ -354,9 +354,10 @@ Logger::~Logger() noexcept(false) } } -void Logger::PrintEmptyLine() +void Logger::LogEmptyLine() { - cout << "\n" << flush; + // do nothing, line break is added by the destructor + // this call just to prevent any output to be added to the logger object } void Logger::SetConsoleSeverity(const Severity severity) diff --git a/logger/Logger.h b/logger/Logger.h index 2d41395..a611177 100644 --- a/logger/Logger.h +++ b/logger/Logger.h @@ -181,7 +181,7 @@ class Logger Logger& Log() { return *this; } - static void PrintEmptyLine(); + void LogEmptyLine(); enum class Color : int { @@ -391,7 +391,9 @@ class Logger #define LOGP(severity, ...) LOG(severity) << fmt::sprintf(__VA_ARGS__) // Log an empty line -#define LOGN() fair::Logger::PrintEmptyLine() +#define LOGN(severity) \ + for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \ + fair::Logger(fair::Severity::severity, fair::Verbosity::verylow, MESSAGE_ORIGIN).LogEmptyLine() // Log with custom file, line, function #define LOGD(severity, file, line, f) \ diff --git a/test/loggerTest.cxx b/test/loggerTest.cxx index d2d9f36..e0ccfa1 100644 --- a/test/loggerTest.cxx +++ b/test/loggerTest.cxx @@ -203,10 +203,11 @@ int main() LOGV(info, verylow) << "I should be printed with very low verbosity"; - LOGN(); - LOGN(); - LOGN(); - LOGN(); + cout << "cout: pushing 4 new lines with LOGN() in info verbosity" << endl; + LOGN(info); + LOGN(info); + LOGN(info); + LOGN(info); return 0; }