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
 	 */