Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
kcenon::logger::backends::standalone_backend Class Referenceexport

Integration backend for standalone logger operation. More...

#include <standalone_backend.h>

Inheritance diagram for kcenon::logger::backends::standalone_backend:
Inheritance graph
Collaboration diagram for kcenon::logger::backends::standalone_backend:
Collaboration graph

Public Member Functions

 standalone_backend ()=default
 Default constructor.
 
 ~standalone_backend () override=default
 Default destructor.
 
log_level normalize_level (int external_level) const override
 Normalize external log level (pass-through)
 
std::string get_backend_name () const override
 Get backend name.
 
bool requires_initialization () const override
 Check if initialization is required.
 
 standalone_backend ()=default
 Default constructor.
 
 ~standalone_backend () override=default
 Default destructor.
 
common::interfaces::log_level normalize_level (int external_level) const override
 Normalize external log level (pass-through)
 
std::string get_backend_name () const override
 Get backend name.
 
bool requires_initialization () const override
 Check if initialization is required.
 
- Public Member Functions inherited from kcenon::logger::backends::integration_backend
virtual ~integration_backend ()=default
 Virtual destructor.
 
virtual bool initialize ()
 Initialize the backend.
 
virtual void shutdown ()
 Shutdown the backend.
 
virtual ~integration_backend ()=default
 Virtual destructor.
 
virtual bool initialize ()
 Initialize the backend.
 
virtual void shutdown ()
 Shutdown the backend.
 

Detailed Description

Integration backend for standalone logger operation.

This is the default backend when no external integration is required. It assumes the external level values match the common::interfaces::log_level enumeration, providing a simple pass-through conversion.

Usage:

auto backend = std::make_unique<standalone_backend>();
auto logger = std::make_unique<logger>(std::move(backend));
Since
1.2.0

This is the default backend when no external integration is required. It assumes the external level values match the logger_system::log_level enumeration, providing a simple pass-through conversion.

Since
1.2.0

Definition at line 119 of file backends.cppm.

Constructor & Destructor Documentation

◆ standalone_backend() [1/2]

kcenon::logger::backends::standalone_backend::standalone_backend ( )
default

◆ ~standalone_backend() [1/2]

kcenon::logger::backends::standalone_backend::~standalone_backend ( )
overridedefault

◆ standalone_backend() [2/2]

kcenon::logger::backends::standalone_backend::standalone_backend ( )
exportdefault

Default constructor.

◆ ~standalone_backend() [2/2]

kcenon::logger::backends::standalone_backend::~standalone_backend ( )
overrideexportdefault

Default destructor.

Member Function Documentation

◆ get_backend_name() [1/2]

std::string kcenon::logger::backends::standalone_backend::get_backend_name ( ) const
inlineoverridevirtual

Get backend name.

Returns
"standalone"
Since
1.2.0

Implements kcenon::logger::backends::integration_backend.

Examples
/home/runner/work/logger_system/logger_system/src/modules/backends.cppm.

Definition at line 73 of file standalone_backend.h.

73 {
74 return "standalone";
75 }

◆ get_backend_name() [2/2]

std::string kcenon::logger::backends::standalone_backend::get_backend_name ( ) const
inlineoverrideexportvirtual

Get backend name.

Returns
"standalone"
Since
1.2.0

Implements kcenon::logger::backends::integration_backend.

Definition at line 148 of file backends.cppm.

148 {
149 return "standalone";
150 }

◆ normalize_level() [1/2]

log_level kcenon::logger::backends::standalone_backend::normalize_level ( int external_level) const
inlineoverridevirtual

Normalize external log level (pass-through)

Parameters
external_levelExternal log level as integer
Returns
The same level cast to log_level

In standalone mode, the external level is assumed to already be in common::interfaces::log_level format, so this is a simple cast.

Since
1.2.0

Implements kcenon::logger::backends::integration_backend.

Examples
/home/runner/work/logger_system/logger_system/src/modules/backends.cppm.

Definition at line 62 of file standalone_backend.h.

62 {
63 // Direct cast - assumes external level is already common::interfaces::log_level
64 return static_cast<log_level>(external_level);
65 }
common::interfaces::log_level log_level

◆ normalize_level() [2/2]

common::interfaces::log_level kcenon::logger::backends::standalone_backend::normalize_level ( int external_level) const
inlineoverrideexportvirtual

Normalize external log level (pass-through)

Parameters
external_levelExternal log level as integer
Returns
The same level cast to common::interfaces::log_level
Since
1.2.0

Implements kcenon::logger::backends::integration_backend.

Definition at line 138 of file backends.cppm.

138 {
139 return static_cast<common::interfaces::log_level>(external_level);
140 }

◆ requires_initialization() [1/2]

bool kcenon::logger::backends::standalone_backend::requires_initialization ( ) const
inlineoverridevirtual

Check if initialization is required.

Returns
false (no initialization needed)
Since
1.2.0

Reimplemented from kcenon::logger::backends::integration_backend.

Examples
/home/runner/work/logger_system/logger_system/src/modules/backends.cppm.

Definition at line 83 of file standalone_backend.h.

83 {
84 return false;
85 }

◆ requires_initialization() [2/2]

bool kcenon::logger::backends::standalone_backend::requires_initialization ( ) const
inlineoverrideexportvirtual

Check if initialization is required.

Returns
false (no initialization needed)
Since
1.2.0

Reimplemented from kcenon::logger::backends::integration_backend.

Definition at line 158 of file backends.cppm.

158 {
159 return false;
160 }

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