NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
file_sink类 参考final

文件日志输出目标 更多...

#include <file_sink.hpp>

类 file_sink 继承关系图:
[图例]

Public 成员函数

 file_sink (path filename, size_t max_file_size=10 *1024 *1024, bool enable_date_rotation=true)
 构造函数
void log (const log_event &event) override
 写入日志事件
void flush () override
 刷新文件缓冲区
Public 成员函数 继承自 log_sink
void set_formatter (unique_ptr< log_formatter > formatter)
 设置格式化器

额外继承的成员函数

Protected 属性 继承自 log_sink
unique_ptr< log_formatterformatter_
 日志格式化器

详细描述

文件日志输出目标

将日志写入文件,支持以下特性:

  • 按大小轮转:当文件达到指定大小时自动创建新文件
  • 按日期轮转:每天创建新的日志文件
  • 文件索引:轮转时自动增加文件索引

文件名格式:

  • 基础文件名
  • 如果启用日期轮转:添加日期后缀
  • 如果启用大小轮转:添加文件索引

在文件 file_sink.hpp36 行定义.

构造及析构函数说明

◆ file_sink()

file_sink::file_sink ( path filename,
size_t max_file_size = 10 *1024 *1024,
bool enable_date_rotation = true )
explicit

构造函数

参数
filename基础文件名
max_file_size文件大小上限(默认10MB)
enable_date_rotation是否启用日期轮转(默认true)

创建文件日志输出目标,并立即打开日志文件。

异常
file_exception文件创建失败时抛出

成员函数说明

◆ flush()

void file_sink::flush ( )
overridevirtual

刷新文件缓冲区

确保所有日志都被写入磁盘。线程安全。

实现了 log_sink.

◆ log()

void file_sink::log ( const log_event & event)
overridevirtual

写入日志事件

参数
event要写入的日志事件

将格式化后的日志写入文件。如果文件大小超过限制或日期变化, 会自动进行轮转。线程安全。

实现了 log_sink.


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