mirror of
https://github.com/FairRootGroup/FairLogger.git
synced 2025-10-18 11:01:44 +00:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
cdf887f5da | ||
|
6555aa1dc0 | ||
|
d1f73fe9f0 | ||
|
86ab87de7b |
@@ -7,7 +7,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.9.4 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.9.4 FATAL_ERROR)
|
||||||
cmake_policy(VERSION 3.9...3.14)
|
cmake_policy(VERSION 3.9...3.15)
|
||||||
|
|
||||||
# Project ######################################################################
|
# Project ######################################################################
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
|
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
|
||||||
@@ -100,7 +100,6 @@ if(NOT USE_EXTERNAL_FMT)
|
|||||||
endif()
|
endif()
|
||||||
install(TARGETS
|
install(TARGETS
|
||||||
FairLogger
|
FairLogger
|
||||||
${test_targets}
|
|
||||||
${fmt_target}
|
${fmt_target}
|
||||||
|
|
||||||
EXPORT ${PROJECT_EXPORT_SET}
|
EXPORT ${PROJECT_EXPORT_SET}
|
||||||
|
12
README.md
12
README.md
@@ -207,6 +207,18 @@ Here is an example adding a custom sink for all severities ("trace" and above).
|
|||||||
|
|
||||||
If only output from custom sinks is desirable, console/file sinks must be deactivated by setting their severity to `"nolog"`.
|
If only output from custom sinks is desirable, console/file sinks must be deactivated by setting their severity to `"nolog"`.
|
||||||
|
|
||||||
|
## Naming conflicts?
|
||||||
|
|
||||||
|
By default, `<fairlogger/Logger.h>` defines unprefixed macros: `LOG`, `LOGV`, `LOGF`, `LOGP`, `LOGN`, `LOGD`, `LOG_IF`.
|
||||||
|
|
||||||
|
Define an option `FAIR_NO_LOG*` to prevent the above unprefixed macros to be defined, e.g.
|
||||||
|
|
||||||
|
\```cpp
|
||||||
|
#define FAIR_NO_LOG
|
||||||
|
#define FAIR_NO_LOGF
|
||||||
|
#include <fairlogger/Logger.h>
|
||||||
|
\```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
GNU Lesser General Public Licence (LGPL) version 3, see [LICENSE](LICENSE).
|
GNU Lesser General Public Licence (LGPL) version 3, see [LICENSE](LICENSE).
|
||||||
|
@@ -7,7 +7,11 @@
|
|||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
#include "Logger.h"
|
#include "Logger.h"
|
||||||
|
|
||||||
|
#if FMT_VERSION < 60000
|
||||||
#include <fmt/time.h>
|
#include <fmt/time.h>
|
||||||
|
#else
|
||||||
|
#include <fmt/chrono.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <cstdio> // printf
|
#include <cstdio> // printf
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
@@ -356,31 +356,67 @@ class Logger
|
|||||||
#define MSG_ORIGIN __FILE__, CONVERTTOSTRING(__LINE__), static_cast<const char*>(__FUNCTION__)
|
#define MSG_ORIGIN __FILE__, CONVERTTOSTRING(__LINE__), static_cast<const char*>(__FUNCTION__)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// allow user of this header file to prevent definition of the LOG macro, by defining FAIR_NO_LOG before including this header
|
||||||
|
#ifndef FAIR_NO_LOG
|
||||||
|
#undef LOG
|
||||||
|
#define LOG FAIR_LOG
|
||||||
|
#endif
|
||||||
|
// allow user of this header file to prevent definition of the LOGV macro, by defining FAIR_NO_LOGV before including this header
|
||||||
|
#ifndef FAIR_NO_LOGV
|
||||||
|
#undef LOGV
|
||||||
|
#define LOGV FAIR_LOGV
|
||||||
|
#endif
|
||||||
|
// allow user of this header file to prevent definition of the LOGF macro, by defining FAIR_NO_LOGF before including this header
|
||||||
|
#ifndef FAIR_NO_LOGF
|
||||||
|
#undef LOGF
|
||||||
|
#define LOGF FAIR_LOGF
|
||||||
|
#endif
|
||||||
|
// allow user of this header file to prevent definition of the LOGP macro, by defining FAIR_NO_LOGP before including this header
|
||||||
|
#ifndef FAIR_NO_LOGP
|
||||||
|
#undef LOGP
|
||||||
|
#define LOGP FAIR_LOGP
|
||||||
|
#endif
|
||||||
|
// allow user of this header file to prevent definition of the LOGN macro, by defining FAIR_NO_LOGN before including this header
|
||||||
|
#ifndef FAIR_NO_LOGN
|
||||||
|
#undef LOGN
|
||||||
|
#define LOGN FAIR_LOGN
|
||||||
|
#endif
|
||||||
|
// allow user of this header file to prevent definition of the LOGD macro, by defining FAIR_NO_LOGD before including this header
|
||||||
|
#ifndef FAIR_NO_LOGD
|
||||||
|
#undef LOGD
|
||||||
|
#define LOGD FAIR_LOGD
|
||||||
|
#endif
|
||||||
|
// allow user of this header file to prevent definition of the LOG_IF macro, by defining FAIR_NO_LOG_IF before including this header
|
||||||
|
#ifndef FAIR_NO_LOG_IF
|
||||||
|
#undef LOG_IF
|
||||||
|
#define LOG_IF FAIR_LOG_IF
|
||||||
|
#endif
|
||||||
|
|
||||||
// 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 LOG(severity) \
|
#define FAIR_LOG(severity) \
|
||||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||||
fair::Logger(fair::Severity::severity, MSG_ORIGIN)
|
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 LOGV(severity, verbosity) \
|
#define FAIR_LOGV(severity, verbosity) \
|
||||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||||
fair::Logger(fair::Severity::severity, fair::Verbosity::verbosity, MSG_ORIGIN)
|
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 LOGF(severity, ...) LOG(severity) << fmt::format(__VA_ARGS__)
|
#define FAIR_LOGF(severity, ...) LOG(severity) << fmt::format(__VA_ARGS__)
|
||||||
#define LOGP(severity, ...) LOG(severity) << fmt::sprintf(__VA_ARGS__)
|
#define FAIR_LOGP(severity, ...) LOG(severity) << fmt::sprintf(__VA_ARGS__)
|
||||||
|
|
||||||
// Log an empty line
|
// Log an empty line
|
||||||
#define LOGN(severity) \
|
#define FAIR_LOGN(severity) \
|
||||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(fair::Severity::severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||||
fair::Logger(fair::Severity::severity, fair::Verbosity::verylow, MSG_ORIGIN).LogEmptyLine()
|
fair::Logger(fair::Severity::severity, fair::Verbosity::verylow, MSG_ORIGIN).LogEmptyLine()
|
||||||
|
|
||||||
// Log with custom file, line, function
|
// Log with custom file, line, function
|
||||||
#define LOGD(severity, file, line, f) \
|
#define FAIR_LOGD(severity, file, line, f) \
|
||||||
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
for (bool fairLOggerunLikelyvariable = false; fair::Logger::Logging(severity) && !fairLOggerunLikelyvariable; fairLOggerunLikelyvariable = true) \
|
||||||
fair::Logger(severity, file, line, f)
|
fair::Logger(severity, file, line, f)
|
||||||
|
|
||||||
#define LOG_IF(severity, condition) \
|
#define FAIR_LOG_IF(severity, condition) \
|
||||||
for (bool fairLOggerunLikelyvariable2 = false; condition && !fairLOggerunLikelyvariable2; fairLOggerunLikelyvariable2 = true) \
|
for (bool fairLOggerunLikelyvariable2 = false; condition && !fairLOggerunLikelyvariable2; fairLOggerunLikelyvariable2 = true) \
|
||||||
LOG(severity)
|
LOG(severity)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user