Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::integration::logger_integration_manager Class Reference

Manager for logger system integration. More...

#include <logger_integration.h>

Collaboration diagram for kcenon::network::integration::logger_integration_manager:
Collaboration graph

Classes

class  impl
 

Public Member Functions

void set_logger (std::shared_ptr< logger_interface > logger)
 Set the logger implementation.
 
std::shared_ptr< logger_interfaceget_logger ()
 Get the current logger.
 
void log (log_level level, const std::string &message)
 Log a message.
 
void log (log_level level, const std::string &message, const std::string &file, int line, const std::string &function)
 Log a message with location.
 

Static Public Member Functions

static logger_integration_managerinstance ()
 Get the singleton instance.
 

Private Member Functions

 logger_integration_manager ()
 
 ~logger_integration_manager ()
 

Private Attributes

std::unique_ptr< implpimpl_
 

Detailed Description

Manager for logger system integration.

This class manages the integration between network_system and logger implementations. When KCENON_WITH_COMMON_SYSTEM is enabled, it delegates to GlobalLoggerRegistry internally.

Definition at line 194 of file logger_integration.h.

Constructor & Destructor Documentation

◆ logger_integration_manager()

kcenon::network::integration::logger_integration_manager::logger_integration_manager ( )
private

Definition at line 309 of file logger_integration.cpp.

310 : pimpl_(std::make_unique<impl>()) {}

Referenced by instance().

Here is the caller graph for this function:

◆ ~logger_integration_manager()

kcenon::network::integration::logger_integration_manager::~logger_integration_manager ( )
privatedefault

Member Function Documentation

◆ get_logger()

std::shared_ptr< logger_interface > kcenon::network::integration::logger_integration_manager::get_logger ( )

Get the current logger.

Returns
Current logger (creates basic logger if none set)

Definition at line 318 of file logger_integration.cpp.

318 {
319 return pimpl_->get_logger();
320}

References kcenon::network::integration::logger_integration_manager::impl::get_logger(), and pimpl_.

Here is the call graph for this function:

◆ instance()

logger_integration_manager & kcenon::network::integration::logger_integration_manager::instance ( )
static

Get the singleton instance.

Returns
Reference to the singleton instance

Definition at line 302 of file logger_integration.cpp.

302 {
303 // Intentionally leak the singleton to avoid destruction order issues
304 // during sanitizer runs and shutdown hooks.
306 return *instance;
307}
static logger_integration_manager & instance()
Get the singleton instance.

References instance(), and logger_integration_manager().

Referenced by kcenon::network::core::network_context::initialize(), kcenon::network::initialize(), instance(), and kcenon::network::core::network_context::set_logger().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ log() [1/2]

void kcenon::network::integration::logger_integration_manager::log ( log_level level,
const std::string & message )

Log a message.

Parameters
levelLog level
messageMessage to log

Definition at line 322 of file logger_integration.cpp.

322 {
323 pimpl_->log(level, message);
324}
void log(log_level level, const std::string &message)

References kcenon::network::integration::logger_integration_manager::impl::log(), kcenon::network::message, and pimpl_.

Here is the call graph for this function:

◆ log() [2/2]

void kcenon::network::integration::logger_integration_manager::log ( log_level level,
const std::string & message,
const std::string & file,
int line,
const std::string & function )

Log a message with location.

Parameters
levelLog level
messageMessage to log
fileSource file
lineLine number
functionFunction name

Definition at line 326 of file logger_integration.cpp.

327 {
328 pimpl_->log(level, message, file, line, function);
329}

References kcenon::network::integration::logger_integration_manager::impl::log(), kcenon::network::message, and pimpl_.

Here is the call graph for this function:

◆ set_logger()

void kcenon::network::integration::logger_integration_manager::set_logger ( std::shared_ptr< logger_interface > logger)

Set the logger implementation.

Parameters
loggerLogger to use

Definition at line 314 of file logger_integration.cpp.

314 {
315 pimpl_->set_logger(logger);
316}
void set_logger(std::shared_ptr< logger_interface > logger)

References pimpl_, and kcenon::network::integration::logger_integration_manager::impl::set_logger().

Referenced by kcenon::network::core::network_context::initialize(), kcenon::network::initialize(), and kcenon::network::core::network_context::set_logger().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ pimpl_

std::unique_ptr<impl> kcenon::network::integration::logger_integration_manager::pimpl_
private

Definition at line 237 of file logger_integration.h.

Referenced by get_logger(), log(), log(), and set_logger().


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