LogSystem beta 1.4
This is a logging system project
 
载入中...
搜索中...
未找到
Xulog::LoggerManager类 参考

日志器管理器 更多...

#include <logger.hpp>

Public 成员函数

void addLogger (Logger::ptr &logger)
 添加日志器到管理器
 
bool hasLogger (const std::string &name)
 检查是否存在指定名称的日志器
 
Logger::ptr getLogger (const std::string &name)
 获取指定名称的日志器
 
Logger::ptr rootLogger ()
 获取根日志器
 

静态 Public 成员函数

static LoggerManagergetInstance ()
 获取日志器管理器的实例
 

Private 成员函数

 LoggerManager ()
 构造函数
 
 ~LoggerManager ()
 析构函数
 

Private 属性

std::mutex _mutex
 互斥锁
 
Logger::ptr _root_logger
 默认日志器
 
std::unordered_map< std::string, Logger::ptr_loggers
 日志器映射
 

详细描述

日志器管理器

管理多个日志器的单例类,实现懒汉式单例模式。

构造及析构函数说明

◆ LoggerManager()

Xulog::LoggerManager::LoggerManager ( )
inlineprivate

构造函数

初始化默认根日志器并将其添加到管理器中。

◆ ~LoggerManager()

Xulog::LoggerManager::~LoggerManager ( )
inlineprivate

析构函数

私有析构函数,防止外部删除管理器实例。

成员函数说明

◆ addLogger()

void Xulog::LoggerManager::addLogger ( Logger::ptr logger)
inline

添加日志器到管理器

参数
logger要添加的日志器

此方法首先检查日志器是否已经存在,如果不存在则添加。

函数调用图:
这是这个函数的调用关系图:

◆ getInstance()

static LoggerManager & Xulog::LoggerManager::getInstance ( )
inlinestatic

获取日志器管理器的实例

返回
日志器管理器的单例引用

该方法使用静态局部变量实现线程安全的单例模式。

这是这个函数的调用关系图:

◆ getLogger()

Logger::ptr Xulog::LoggerManager::getLogger ( const std::string &  name)
inline

获取指定名称的日志器

参数
name日志器名称
返回
找到的日志器,如果不存在返回 nullptr
这是这个函数的调用关系图:

◆ hasLogger()

bool Xulog::LoggerManager::hasLogger ( const std::string &  name)
inline

检查是否存在指定名称的日志器

参数
name日志器名称
返回
如果存在返回 true,否则返回 false
这是这个函数的调用关系图:

◆ rootLogger()

Logger::ptr Xulog::LoggerManager::rootLogger ( )
inline

获取根日志器

返回
根日志器的指针
这是这个函数的调用关系图:

类成员变量说明

◆ _loggers

std::unordered_map<std::string, Logger::ptr> Xulog::LoggerManager::_loggers
private

日志器映射

◆ _mutex

std::mutex Xulog::LoggerManager::_mutex
private

互斥锁

◆ _root_logger

Logger::ptr Xulog::LoggerManager::_root_logger
private

默认日志器