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

抽象日志器基类 更多...

#include <logger.hpp>

类 Xulog::Logger 继承关系图:
Xulog::Logger 的协作图:

Public 类型

using ptr = std::shared_ptr< Logger >
 

Public 成员函数

 Logger (const std::string &loggername, LogLevel::value level, Formatter::ptr &formatter, std::vector< LogSink::ptr > sinks)
 构造函数
 
const std::string & name ()
 获取日志器名称
 
void debug (const std::string &file, size_t line, const std::string &fmt,...)
 记录调试级别日志
 
void info (const std::string &file, size_t line, const std::string &fmt,...)
 记录信息级别日志
 
void warn (const std::string &file, size_t line, const std::string &fmt,...)
 记录警告级别日志
 
void error (const std::string &file, size_t line, const std::string &fmt,...)
 记录错误级别日志
 
void fatal (const std::string &file, size_t line, const std::string &fmt,...)
 记录致命级别日志
 
LogMsg getMsg ()
 获取日志消息的结构化数据
 
std::string getName ()
 获取日志器名称
 
LogLevel::value getLimitLevel ()
 获取限制等级
 
Formatter::ptr getFormatter ()
 获取格式化器
 
LoggerType getLoggerType ()
 获取日志器类型
 

Protected 成员函数

virtual void log (const char *data, size_t len)=0
 抽象日志输出接口
 
void serialize (LogLevel::value level, const std::string &file, size_t line, char *str)
 序列化日志消息
 

Protected 属性

LogMsg _msg
 存储临时的消息对象
 
std::mutex _mutex
 互斥锁
 
std::string _logger_name
 日志器名称
 
std::atomic< LogLevel::value_limit_level
 日志级别
 
Formatter::ptr _formatter
 日志格式化器
 
std::vector< LogSink::ptr_sinks
 日志输出接收器
 
LoggerType _logger_type
 

详细描述

抽象日志器基类

Logger 类用于记录日志,提供多种日志级别的方法,并将日志格式化后输出到不同的接收器。

成员类型定义说明

◆ ptr

using Xulog::Logger::ptr = std::shared_ptr<Logger>

构造及析构函数说明

◆ Logger()

Xulog::Logger::Logger ( const std::string &  loggername,
LogLevel::value  level,
Formatter::ptr formatter,
std::vector< LogSink::ptr sinks 
)
inline

构造函数

参数
loggername日志器名称
level日志级别
formatter日志格式化器
sinks日志输出接收器

成员函数说明

◆ debug()

void Xulog::Logger::debug ( const std::string &  file,
size_t  line,
const std::string &  fmt,
  ... 
)
inline

记录调试级别日志

参数
file文件名
line行号
fmt格式化字符串
函数调用图:

◆ error()

void Xulog::Logger::error ( const std::string &  file,
size_t  line,
const std::string &  fmt,
  ... 
)
inline

记录错误级别日志

参数
file文件名
line行号
fmt格式化字符串
函数调用图:

◆ fatal()

void Xulog::Logger::fatal ( const std::string &  file,
size_t  line,
const std::string &  fmt,
  ... 
)
inline

记录致命级别日志

参数
file文件名
line行号
fmt格式化字符串
函数调用图:

◆ getFormatter()

Formatter::ptr Xulog::Logger::getFormatter ( )
inline

获取格式化器

返回
格式化器

◆ getLimitLevel()

LogLevel::value Xulog::Logger::getLimitLevel ( )
inline

获取限制等级

返回
限制等级

◆ getLoggerType()

LoggerType Xulog::Logger::getLoggerType ( )
inline

获取日志器类型

返回
日志器类型

◆ getMsg()

LogMsg Xulog::Logger::getMsg ( )
inline

获取日志消息的结构化数据

返回
日志消息结构体

◆ getName()

std::string Xulog::Logger::getName ( )
inline

获取日志器名称

返回
日志器名称

◆ info()

void Xulog::Logger::info ( const std::string &  file,
size_t  line,
const std::string &  fmt,
  ... 
)
inline

记录信息级别日志

参数
file文件名
line行号
fmt格式化字符串
函数调用图:

◆ log()

virtual void Xulog::Logger::log ( const char *  data,
size_t  len 
)
protectedpure virtual

抽象日志输出接口

参数
data日志数据
len数据长度

Xulog::AsyncLogger , 以及 Xulog::SyncLogger 内被实现.

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

◆ name()

const std::string & Xulog::Logger::name ( )
inline

获取日志器名称

返回
日志器名称

◆ serialize()

void Xulog::Logger::serialize ( LogLevel::value  level,
const std::string &  file,
size_t  line,
char *  str 
)
inlineprotected

序列化日志消息

参数
level日志级别
file文件名
line行号
str格式化后的日志字符串
函数调用图:
这是这个函数的调用关系图:

◆ warn()

void Xulog::Logger::warn ( const std::string &  file,
size_t  line,
const std::string &  fmt,
  ... 
)
inline

记录警告级别日志

参数
file文件名
line行号
fmt格式化字符串
函数调用图:

类成员变量说明

◆ _formatter

Formatter::ptr Xulog::Logger::_formatter
protected

日志格式化器

◆ _limit_level

std::atomic<LogLevel::value> Xulog::Logger::_limit_level
protected

日志级别

◆ _logger_name

std::string Xulog::Logger::_logger_name
protected

日志器名称

◆ _logger_type

LoggerType Xulog::Logger::_logger_type
protected

◆ _msg

LogMsg Xulog::Logger::_msg
protected

存储临时的消息对象

◆ _mutex

std::mutex Xulog::Logger::_mutex
protected

互斥锁

◆ _sinks

std::vector<LogSink::ptr> Xulog::Logger::_sinks
protected

日志输出接收器