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

异步日志器 更多...

#include <logger.hpp>

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

Public 成员函数

 AsyncLogger (const std::string &loggername, LogLevel::value level, Formatter::ptr &formatter, std::vector< LogSink::ptr > sinks, AsyncType looper_type)
 构造函数
 
void log (const char *data, size_t len)
 将数据写入缓冲区
 
void realLog (Buffer &buf)
 实际落地函数,将缓冲区中的日志写入接收器
 
- Public 成员函数 继承自 Xulog::Logger
 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 ()
 获取日志器类型
 

Private 属性

AsyncLooper::ptr _looper
 异步事件循环器
 

额外继承的成员函数

- Public 类型 继承自 Xulog::Logger
using ptr = std::shared_ptr< Logger >
 
- Protected 成员函数 继承自 Xulog::Logger
void serialize (LogLevel::value level, const std::string &file, size_t line, char *str)
 序列化日志消息
 
- Protected 属性 继承自 Xulog::Logger
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
 

详细描述

异步日志器

AsyncLogger 实现了异步的日志记录功能,使用缓冲区和事件循环。

构造及析构函数说明

◆ AsyncLogger()

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

构造函数

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

成员函数说明

◆ log()

void Xulog::AsyncLogger::log ( const char *  data,
size_t  len 
)
inlinevirtual

将数据写入缓冲区

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

实现了 Xulog::Logger.

◆ realLog()

void Xulog::AsyncLogger::realLog ( Buffer buf)
inline

实际落地函数,将缓冲区中的日志写入接收器

参数
buf日志缓冲区
函数调用图:

类成员变量说明

◆ _looper

AsyncLooper::ptr Xulog::AsyncLogger::_looper
private

异步事件循环器