57 virtual void trace(std::string_view message) = 0;
63 virtual void debug(std::string_view message) = 0;
69 virtual void info(std::string_view message) = 0;
75 virtual void warn(std::string_view message) = 0;
81 virtual void error(std::string_view message) = 0;
87 virtual void fatal(std::string_view message) = 0;
107 template <
typename... Args>
110 trace(kcenon::pacs::compat::format(fmt, std::forward<Args>(args)...));
117 template <
typename... Args>
120 debug(kcenon::pacs::compat::format(fmt, std::forward<Args>(args)...));
127 template <
typename... Args>
130 info(kcenon::pacs::compat::format(fmt, std::forward<Args>(args)...));
137 template <
typename... Args>
140 warn(kcenon::pacs::compat::format(fmt, std::forward<Args>(args)...));
147 template <
typename... Args>
150 error(kcenon::pacs::compat::format(fmt, std::forward<Args>(args)...));
157 template <
typename... Args>
160 fatal(kcenon::pacs::compat::format(fmt, std::forward<Args>(args)...));
199 void trace(std::string_view )
override {}
200 void debug(std::string_view )
override {}
201 void info(std::string_view )
override {}
202 void warn(std::string_view )
override {}
203 void error(std::string_view )
override {}
204 void fatal(std::string_view )
override {}
230 void trace(std::string_view message)
override {
234 void debug(std::string_view message)
override {
238 void info(std::string_view message)
override {
242 void warn(std::string_view message)
override {
246 void error(std::string_view message)
override {
250 void fatal(std::string_view message)
override {
272 static auto instance = std::make_shared<NullLogger>();
Abstract logger interface for dependency injection.
void debug_fmt(kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
Log a formatted debug-level message.
virtual void warn(std::string_view message)=0
Log a warning-level message.
virtual void error(std::string_view message)=0
Log an error-level message.
virtual void fatal(std::string_view message)=0
Log a fatal-level message.
void trace_fmt(kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
Log a formatted trace-level message.
virtual bool is_enabled(integration::log_level level) const noexcept=0
Check if a log level is enabled.
ILogger & operator=(ILogger &&)=default
void error_fmt(kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
Log a formatted error-level message.
void info_fmt(kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
Log a formatted info-level message.
ILogger & operator=(const ILogger &)=default
virtual ~ILogger()=default
ILogger(ILogger &&)=default
void fatal_fmt(kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
Log a formatted fatal-level message.
virtual void info(std::string_view message)=0
Log an info-level message.
virtual void debug(std::string_view message)=0
Log a debug-level message.
ILogger(const ILogger &)=default
virtual void trace(std::string_view message)=0
Log a trace-level message.
void warn_fmt(kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
Log a formatted warning-level message.
Default implementation of ILogger using logger_adapter.
void debug(std::string_view message) override
Log a debug-level message.
void warn(std::string_view message) override
Log a warning-level message.
bool is_enabled(integration::log_level level) const noexcept override
Check if a log level is enabled.
void error(std::string_view message) override
Log an error-level message.
void fatal(std::string_view message) override
Log a fatal-level message.
~LoggerService() override=default
void trace(std::string_view message) override
Log a trace-level message.
void info(std::string_view message) override
Log an info-level message.
No-op logger implementation for default injection.
void debug(std::string_view) override
Log a debug-level message.
void trace(std::string_view) override
Log a trace-level message.
~NullLogger() override=default
void warn(std::string_view) override
Log a warning-level message.
void fatal(std::string_view) override
Log a fatal-level message.
void info(std::string_view) override
Log an info-level message.
bool is_enabled(integration::log_level) const noexcept override
Check if a log level is enabled.
void error(std::string_view) override
Log an error-level message.
static void log(log_level level, const std::string &message)
Log a message at the specified level.
static auto is_level_enabled(log_level level) noexcept -> bool
Check if a log level is enabled.
Adapter for DICOM audit logging using logger_system.
std::format_string< Args... > format_string
std::shared_ptr< ILogger > null_logger()
Get a shared null logger instance.
log_level
Log severity levels.