diff --git a/inc/Logger.hpp b/inc/Logger.hpp index 48a3ab1923fd9d1958da424efe66291a042a9231..f1319550b87c36f945534012403d17d4df57dabc 100644 --- a/inc/Logger.hpp +++ b/inc/Logger.hpp @@ -24,14 +24,6 @@ #define LOGLEVEL Logger::disabled // Ignore-MISRA #endif -/** - * Internal define to check if logging is enabled for a level - * @param level A log level - * @return bool - */ -#define _ac_LOGGER_ENABLED_LEVEL(level) /* Ignore-MISRA */ \ - (( (Logger::LogLevelType) LOGLEVEL) <= ( (Logger::LogLevelType) level)) - /** * Create a stream to log a Message * @@ -79,7 +71,7 @@ * @param level The log level. A value of \ref Logger::LogEntry */ #define LOG(level) /* Ignore-MISRA */ \ - if (_ac_LOGGER_ENABLED_LEVEL(level)) \ + if (Logger::isLogged(level)) \ if (Logger::LogEntry entry(level); true) \ entry @@ -147,6 +139,15 @@ public: LogEntry(LogEntry const&) = delete; ///< Unimplemented copy constructor }; + /** + * Returns whether a log entry of level \p level is logged, based on the compilation constants + * @param level The level of the log entry + * @return True if the logging is enabled for \p level, false if not + */ + static constexpr bool isLogged(LogLevelType level) { + return static_cast<LogLevelType>(LOGLEVEL) <= level; + } + /** * Store a new log message */