Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::concepts::LevelAwareLogger Concept Reference

A type that supports log level filtering. More...

#include <logger.h>

Concept definition

template<typename T>
requires(T t, const T ct, interfaces::log_level level) {
{ ct.is_enabled(level) } -> std::convertible_to<bool>;
{ t.set_level(level) };
{ ct.get_level() } -> std::convertible_to<interfaces::log_level>;
}
A type that provides basic logging functionality.
Definition logger.h:76
A type that supports log level filtering.
Definition logger.h:101
log_level
Standard log levels.

Detailed Description

A type that supports log level filtering.

Types satisfying this concept can check if a log level is enabled and can set/get the minimum log level. This enables efficient logging by avoiding unnecessary message formatting.

Example usage:

template<LevelAwareLogger L>
void log_debug(L& logger, const std::string& message) {
if (logger.is_enabled(interfaces::log_level::debug)) {
logger.log(interfaces::log_level::debug, message);
}
}

Definition at line 101 of file logger.h.