目录
类成员变量: 构造函数: 初始化方法: 静态方法: 日志写入与管理方法: 日志文件切分: 宏定义:
Log
类是一个用于日志记录的C++类,其设计具有以下特点和功能:类结构概述
path_
: 日志文件存储路径。suffix_
: 日志文件后缀名。MAX_LINES_
: 每个日志文件允许的最大行数。lineCount_
: 当前日志文件已写的行数。toDay_
: 当前日志文件对应的日期。isOpen_
: 表示日志系统是否已开启。buff_
: 缓冲区,用于暂存待写入文件的日志内容。level_
: 当前日志级别。isAsync_
: 标记是否启用异步写入。fp_
: 指向日志文件的FILE指针。deque_
: 一个阻塞队列,用于在异步模式下存放待写入日志的字符串。writeThread_
: 异步写入线程的智能指针。mtx_
: 互斥锁,用于保证多线程环境下的日志写入操作线程安全。
init
方法接收日志级别、日志路径、文件后缀名和最大队列容量参数,用于初始化日志系统,包括创建文件、设置日志级别以及开启异步写入线程(如果需要的话)。
Instance()
方法提供单例模式访问,返回唯一实例。FlushLogThread()
方法启动一个线程用于异步写入日志。
write
方法接受日志级别和格式化的日志内容,并负责将日志写入缓冲区或者直接写入文件,或者放入异步队列中。flush
方法用于将缓冲区中的日志内容强制写入文件,并刷新文件流。AsyncWrite_
是异步写入线程内部调用的方法,用于从队列中取出日志内容并写入文件。GetLevel
和 SetLevel
方法分别用于获取和设置日志级别。IsOpen
方法检查日志系统是否已开启。
LOG_DEBUG
、LOG_INFO
、LOG_WARN
和 LOG_ERROR
四个宏,方便快捷地记录不同级别的日志信息。主要特性总结