PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::di::NullLogger Class Referencefinal

No-op logger implementation for default injection. More...

#include <ilogger.h>

Inheritance diagram for kcenon::pacs::di::NullLogger:
Inheritance graph
Collaboration diagram for kcenon::pacs::di::NullLogger:
Collaboration graph

Public Member Functions

 NullLogger ()=default
 
 ~NullLogger () override=default
 
void trace (std::string_view) override
 Log a trace-level message.
 
void debug (std::string_view) override
 Log a debug-level message.
 
void info (std::string_view) override
 Log an info-level message.
 
void warn (std::string_view) override
 Log a warning-level message.
 
void error (std::string_view) override
 Log an error-level message.
 
void fatal (std::string_view) override
 Log a fatal-level message.
 
bool is_enabled (integration::log_level) const noexcept override
 Check if a log level is enabled.
 
- Public Member Functions inherited from kcenon::pacs::di::ILogger
virtual ~ILogger ()=default
 
template<typename... Args>
void trace_fmt (kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
 Log a formatted trace-level message.
 
template<typename... Args>
void debug_fmt (kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
 Log a formatted debug-level message.
 
template<typename... Args>
void info_fmt (kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
 Log a formatted info-level message.
 
template<typename... Args>
void warn_fmt (kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
 Log a formatted warning-level message.
 
template<typename... Args>
void error_fmt (kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
 Log a formatted error-level message.
 
template<typename... Args>
void fatal_fmt (kcenon::pacs::compat::format_string< Args... > fmt, Args &&... args)
 Log a formatted fatal-level message.
 

Additional Inherited Members

- Protected Member Functions inherited from kcenon::pacs::di::ILogger
 ILogger ()=default
 
 ILogger (const ILogger &)=default
 
ILoggeroperator= (const ILogger &)=default
 
 ILogger (ILogger &&)=default
 
ILoggeroperator= (ILogger &&)=default
 

Detailed Description

No-op logger implementation for default injection.

NullLogger provides a safe default when no logger is configured. All methods are no-ops with minimal overhead.

Usage:

class MyService {
public:
explicit MyService(std::shared_ptr<ILogger> logger = nullptr)
: logger_(logger ? std::move(logger) : std::make_shared<NullLogger>())
{}
private:
std::shared_ptr<ILogger> logger_;
};
No-op logger implementation for default injection.
Definition ilogger.h:194

Definition at line 194 of file ilogger.h.

Constructor & Destructor Documentation

◆ NullLogger()

kcenon::pacs::di::NullLogger::NullLogger ( )
default

◆ ~NullLogger()

kcenon::pacs::di::NullLogger::~NullLogger ( )
overridedefault

Member Function Documentation

◆ debug()

void kcenon::pacs::di::NullLogger::debug ( std::string_view message)
inlineoverridevirtual

Log a debug-level message.

Parameters
messageThe message to log

Implements kcenon::pacs::di::ILogger.

Definition at line 200 of file ilogger.h.

200{}

◆ error()

void kcenon::pacs::di::NullLogger::error ( std::string_view message)
inlineoverridevirtual

Log an error-level message.

Parameters
messageThe message to log

Implements kcenon::pacs::di::ILogger.

Definition at line 203 of file ilogger.h.

203{}

◆ fatal()

void kcenon::pacs::di::NullLogger::fatal ( std::string_view message)
inlineoverridevirtual

Log a fatal-level message.

Parameters
messageThe message to log

Implements kcenon::pacs::di::ILogger.

Definition at line 204 of file ilogger.h.

204{}

◆ info()

void kcenon::pacs::di::NullLogger::info ( std::string_view message)
inlineoverridevirtual

Log an info-level message.

Parameters
messageThe message to log

Implements kcenon::pacs::di::ILogger.

Definition at line 201 of file ilogger.h.

201{}

◆ is_enabled()

bool kcenon::pacs::di::NullLogger::is_enabled ( integration::log_level level) const
inlinenodiscardoverridevirtualnoexcept

Check if a log level is enabled.

Parameters
levelThe level to check
Returns
true if messages at this level will be logged

Implements kcenon::pacs::di::ILogger.

Definition at line 206 of file ilogger.h.

206 {
207 return false;
208 }

◆ trace()

void kcenon::pacs::di::NullLogger::trace ( std::string_view message)
inlineoverridevirtual

Log a trace-level message.

Parameters
messageThe message to log

Implements kcenon::pacs::di::ILogger.

Definition at line 199 of file ilogger.h.

199{}

◆ warn()

void kcenon::pacs::di::NullLogger::warn ( std::string_view message)
inlineoverridevirtual

Log a warning-level message.

Parameters
messageThe message to log

Implements kcenon::pacs::di::ILogger.

Definition at line 202 of file ilogger.h.

202{}

The documentation for this class was generated from the following file: