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

日志器建造者 更多...

#include <logger.hpp>

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

Public 成员函数

 LoggerBuilder ()
 构建接收器
 
void buildEnableUnsafeAsync ()
 
void buildLoggerType (LoggerType type=LoggerType::LOGGER_SYNC)
 设置日志器类型
 
void buildLoggerName (const std::string &name)
 设置日志器名称
 
void buildLoggerLevel (LogLevel::value level)
 设置日志器级别
 
void buildFormatter (const std::string &pattern="[%d{%y-%m-%d|%H:%M:%S}][%t][%c][%f:%l][%p]%T%m%n")
 设置日志格式
 
template<typename SinkType , typename... Args>
void buildSink (Args &&...args)
 构建接收器
 
virtual Logger::ptr build ()=0
 建造日志器
 
Formatter::ptr getFormatter ()
 获取格式化器
 

Protected 属性

AsyncType _looper_type
 异步类型
 
LoggerType _logger_type
 日志器类型
 
std::string _logger_name
 日志器名称
 
LogLevel::value _limit_level
 日志级别
 
Formatter::ptr _formatter
 日志格式化器
 
std::vector< LogSink::ptr_sinks
 日志输出接收器
 

Private 类型

using ptr = std::shared_ptr< LoggerBuilder >
 

详细描述

日志器建造者

使用建造者模式构建日志器,无需用户直接构造。

成员类型定义说明

◆ ptr

using Xulog::LoggerBuilder::ptr = std::shared_ptr<LoggerBuilder>
private

构造及析构函数说明

◆ LoggerBuilder()

Xulog::LoggerBuilder::LoggerBuilder ( )
inline

构建接收器

模板参数
SinkType接收器类型
Args构造参数
参数
args构造参数

成员函数说明

◆ build()

virtual Logger::ptr Xulog::LoggerBuilder::build ( )
pure virtual

建造日志器

返回
创建的 Logger 对象

Xulog::LocalLoggerBuild , 以及 Xulog::GlobalLoggerBuild 内被实现.

◆ buildEnableUnsafeAsync()

void Xulog::LoggerBuilder::buildEnableUnsafeAsync ( )
inline
弃用:
启用不安全的异步日志记录

此方法设置日志器为不安全的异步模式。

◆ buildFormatter()

void Xulog::LoggerBuilder::buildFormatter ( const std::string &  pattern = "[%d{%y-%m-%d|%H:%M:%S}][%t][%c][%f:%l][%p]%T%m%n")
inline

设置日志格式

参数
pattern日志输出的格式,默认为 "[%d{%y-%m-%d|%H:%M:%S}][%t][%c][%f:%l][%p]%T%m%n"
注解
格式说明 d 日期,子格式{H:M:S} T 缩进 t 线程ID p 日志级别 c 日志器名称 f 文件名 l 行号 m 日志消息 n 换行

◆ buildLoggerLevel()

void Xulog::LoggerBuilder::buildLoggerLevel ( LogLevel::value  level)
inline

设置日志器级别

参数
level日志级别
注解
默认为DEBUG等级

◆ buildLoggerName()

void Xulog::LoggerBuilder::buildLoggerName ( const std::string &  name)
inline

设置日志器名称

参数
name日志器的名称
警告
日志器名称不允许为空!

◆ buildLoggerType()

void Xulog::LoggerBuilder::buildLoggerType ( LoggerType  type = LoggerType::LOGGER_SYNC)
inline

设置日志器类型

参数
type日志器类型(同步或异步)
注解
默认为LOGGER_SYNC同步日志器

◆ buildSink()

template<typename SinkType , typename... Args>
void Xulog::LoggerBuilder::buildSink ( Args &&...  args)
inline

构建接收器

模板参数
SinkType接收器类型
Args构造参数
参数
args构造参数
函数调用图:

◆ getFormatter()

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

获取格式化器

返回
获取格式化器

类成员变量说明

◆ _formatter

Formatter::ptr Xulog::LoggerBuilder::_formatter
protected

日志格式化器

◆ _limit_level

LogLevel::value Xulog::LoggerBuilder::_limit_level
protected

日志级别

◆ _logger_name

std::string Xulog::LoggerBuilder::_logger_name
protected

日志器名称

◆ _logger_type

LoggerType Xulog::LoggerBuilder::_logger_type
protected

日志器类型

◆ _looper_type

AsyncType Xulog::LoggerBuilder::_looper_type
protected

异步类型

◆ _sinks

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

日志输出接收器