|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
文件日志基类。 More...
#include <logprintf.h>
Classes | |
| struct | config |
| 日志文件配置结构体。 More... | |
Public Member Functions | |
| logfile (const config &aconfig) | |
| 构造函数。 | |
| bool | flush_count () const |
| 检查当前文件是否应该轮转。 | |
| void | close_fstream () |
| 关闭当前文件流。 | |
| bool | create_dir (const std::string &apath) |
| 确保目标目录存在。 | |
| void | create () |
| 构建目录树并打开新的日志文件。 | |
| virtual void | printf (const np_logitem *alog)=0 |
| 将一条格式化的日志项写入目标文件。 | |
| void | flush () |
| 显式刷新当前文件流。 | |
Static Public Member Functions | |
| static std::shared_ptr< logfile > | create_make (const config &aconfig) |
| 根据日志类型创建具体的文件格式化器。 | |
Public Attributes | |
| std::ofstream | m_stream |
| 日志文件输出流 | |
| config | m_config |
| 不可变的文件配置 | |
| int | m_count = 0 |
| 写入当前文件的记录数 | |
| int | m_fcount = 0 |
| 同一天/时间段的文件序号 | |
文件日志基类。
管理日志文件的创建、写入和轮转。支持按记录数或时间间隔触发轮转。 通过工厂方法create_make()根据日志类型创建具体的文件格式化器。
| ngl::logfile::logfile | ( | const config & | aconfig | ) |
构造函数。
logfile构造函数
| aconfig | 日志文件配置 |
| void ngl::logfile::close_fstream | ( | ) |
关闭当前文件流。
关闭当前日志文件流
在创建下一个轮转文件前调用。
| void ngl::logfile::create | ( | ) |
构建目录树并打开新的日志文件。
创建新的日志文件
按目录结构(根目录/服务器名/日志类型/日期/时间.log)创建日志文件
| bool ngl::logfile::create_dir | ( | const std::string & | apath | ) |
确保目标目录存在。
确保目录存在,不存在则创建
| apath | 目录路径 |
| apath | 目录路径 |
| true | 目录已存在或创建成功 |
| false | 创建失败 |
根据日志类型创建具体的文件格式化器。
工厂方法:根据配置创建日志文件实例
| aconfig | 日志文件配置 |
| aconfig | 日志文件配置 |
| void ngl::logfile::flush | ( | ) |
显式刷新当前文件流。
刷新日志文件流
| bool ngl::logfile::flush_count | ( | ) | const |
检查当前文件是否应该轮转。
检查是否达到日志轮转行数阈值
| true | 达到阈值,需要轮转 |
| false | 未达到阈值 |
|
pure virtual |
将一条格式化的日志项写入目标文件。
| alog | 日志条目指针 |
Implemented in ngl::logfile_bi, and ngl::logfile_default.