NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::log_sink类 参考abstract

日志输出目标基类 更多...

#include <log_sink.hpp>

类 neforce::log_sink 继承关系图:
[图例]

Public 成员函数

virtual void log (const log_event &event)=0
 输出一条日志事件
virtual void flush ()=0
 强制刷新缓冲区
void set_formatter (unique_ptr< log_formatter > formatter)
 设置格式化器
void set_flush_interval (int64_t interval_ms)
 设置自动刷新间隔
bool should_auto_flush () const
 检查是否需要自动刷新

Protected 属性

unique_ptr< log_formatterformatter_
 格式化器
int64_t flush_interval_ms_ {0}
 自动刷新间隔毫秒数(0=禁用)
timestamp last_flush_ {timestamp::now()}
 上次刷新的时间戳

详细描述

日志输出目标基类

所有日志输出目标的抽象基类。 支持设置自定义格式化器和自动刷新间隔。

在文件 log_sink.hpp47 行定义.

成员函数说明

◆ log()

virtual void neforce::log_sink::log ( const log_event & event)
pure virtual

输出一条日志事件

参数
event要输出的日志事件

neforce::console_sink, neforce::file_sink , 以及 neforce::syslog_sink 内被实现.

◆ set_flush_interval()

void neforce::log_sink::set_flush_interval ( int64_t interval_ms)
inline

设置自动刷新间隔

参数
interval_ms间隔毫秒数,0 表示禁用自动刷新

在文件 log_sink.hpp75 行定义.

引用了 flush_interval_ms_.

◆ set_formatter()

void neforce::log_sink::set_formatter ( unique_ptr< log_formatter > formatter)

设置格式化器

参数
formatter新的格式化器(unique_ptr,转移所有权)

◆ should_auto_flush()

bool neforce::log_sink::should_auto_flush ( ) const
inlinenodiscard

检查是否需要自动刷新

返回
距上次刷新已超过间隔则返回 true

在文件 log_sink.hpp81 行定义.

引用了 flush_interval_ms_, last_flush_ , 以及 neforce::timestamp::now().


该类的文档由以下文件生成: