DtkCore
DTK Core module
|
RollingFileAppender类扩展了FileAppender,使日志文件在用户选择的频率上进行滚动 更多...
Public 类型 | |
enum | DatePattern { MinutelyRollover = 0 , HourlyRollover , HalfDailyRollover , DailyRollover , WeeklyRollover , MonthlyRollover } |
日志频率 更多... | |
Public 成员函数 | |
RollingFileAppender (const QString &fileName=QString()) | |
构造函数,默认限制日志文件个数是0,默认日志文件大小是1024*1024*20=20m | |
DatePattern | datePattern () const |
返回当前的滚动更新频率 更多... | |
void | setDatePattern (DatePattern datePattern) |
设置日志滚动频率 更多... | |
void | setDatePattern (const QString &datePattern) |
此重载是为了方便使用,可以传入一个滚动频率字符串 更多... | |
QString | datePatternString () const |
以字符串形式,返回当前滚动频率 | |
void | setLogFilesLimit (int limit) |
设置日志文件数量上限,最旧的文件会被滚动覆盖 | |
int | logFilesLimit () const |
返回设置的日志文件数量上限 更多... | |
void | setLogSizeLimit (int limit) |
设置日志文件单个文件大小上限 | |
qint64 | logSizeLimit () const |
返回设置的日志文件单个文件大小上限 更多... | |
![]() | |
FileAppender (const QString &fileName=QString()) | |
构造函数,分配给具有给定<fileName>的文件 | |
QString | fileName () const |
返回由setFileName()设置的名称,或返回FileAppender构造函数传入的fileName 更多... | |
void | setFileName (const QString &s) |
设置文件的名称。该名称可以没有路径,可以是相对路径,也可以是绝对路径 更多... | |
qint64 | size () const |
返回日志文件大小 | |
![]() | |
AbstractStringAppender () | |
构建一个新的字符串appender对象 | |
virtual QString | format () const |
返回当前使用的format字符串 更多... | |
void | setFormat (const QString &format) |
设置日志格式, 以便用这个appender向日志目标写入字符串。 更多... | |
![]() | |
AbstractAppender () | |
AbstractAppender构造函数 | |
virtual | ~AbstractAppender () |
AbstractAppender析构函数 | |
Logger::LogLevel | detailsLevel () const |
返回appender的当前日志级别 更多... | |
void | setDetailsLevel (Logger::LogLevel level) |
设置当前appender的记录级别,默认记录级别为Logger::Debug 更多... | |
void | setDetailsLevel (const QString &level) |
设置当前appender的记录级别,这个函数是为了简化输入而提供的,它的行为与同名函数类似。 更多... | |
void | write (const QDateTime &time, Logger::LogLevel level, const char *file, int line, const char *func, const QString &category, const QString &msg) |
尝试写入日志,这是由Logger对象调用的函数,用于向appender写入日志信息 更多... | |
Protected 成员函数 | |
virtual void | append (const QDateTime &time, Logger::LogLevel level, const char *file, int line, const char *func, const QString &category, const QString &msg) |
![]() | |
virtual void | append (const QDateTime &time, Logger::LogLevel level, const char *file, int line, const char *func, const QString &category, const QString &msg) |
bool | openFile () |
void | closeFile () |
![]() | |
QString | formattedString (const QDateTime &time, Logger::LogLevel level, const char *file, int line, const char *func, const QString &category, const QString &msg) const |
virtual void | append (const QDateTime &time, Logger::LogLevel level, const char *file, int line, const char *func, const QString &category, const QString &msg)=0 |
额外继承的成员函数 | |
![]() | |
static QString | stripFunctionName (const char *name) |
剥离长函数签名(由Q_FUNC_INFO宏添加) 更多... | |
RollingFileAppender类扩展了FileAppender,使日志文件在用户选择的频率上进行滚动
该类是基于Log4Qt.DailyRollingFileAppender
类Log4Qt 并具有相同的日期模式格式
例如,如果fileName设置为/foo/bar
,DatePattern设置为每日滚动('.yyy-MM-dd'.log'),在2022-05-28的午夜。 日志文件/foo/bar.log
将被复制到/foo/bar.2022-05-28.log
,2022-05-29的日志将在/foo/bar
中继续,直到第二天滚动
logFilesLimit参数用于在滚动期间自动删除目录中最旧的日志文件。 (所以在任何时候,目录中都不会有超过logFilesLimit的最新日志文件存在)
日志频率
值 | 序号 | 含义 |
---|---|---|
MinutelyRollover | 0 | 每分钟的日期模式字符串是<tt>.yyyy-MM-dd-hh-mm |
HourlyRollover | 1 | 每小时的日期模式字符串是 .yyyy-MM-dd-hh |
HalfDailyRollover | 2 | 每半天的日期模式字符串是<tt>.yyyy-MM-dd-a |
DailyRollover | 3 | 每天的日期模式字符串是<tt>.yyyy-MM-dd |
WeeklyRollover | 4 | 每周的日期模式字符串是.'yyyy-ww |
MonthlyRollover | 5 | 每月的日期模式字符串是<tt>.yyyy-MM |
|
protectedvirtual |
DatePattern Dtk::Core::RollingFileAppender::datePattern | ( | ) | const |
返回当前的滚动更新频率
int Dtk::Core::RollingFileAppender::logFilesLimit | ( | ) | const |
返回设置的日志文件数量上限
qint64 Dtk::Core::RollingFileAppender::logSizeLimit | ( | ) | const |
返回设置的日志文件单个文件大小上限
void Dtk::Core::RollingFileAppender::setDatePattern | ( | const QString & | datePattern | ) |
此重载是为了方便使用,可以传入一个滚动频率字符串
void Dtk::Core::RollingFileAppender::setDatePattern | ( | DatePattern | datePattern | ) |
设置日志滚动频率