DtkCore
DTK Core module
Dtk::Core::RollingFileAppender类 参考

RollingFileAppender类扩展了FileAppender,使日志文件在用户选择的频率上进行滚动 更多...

类 Dtk::Core::RollingFileAppender 继承关系图:
Dtk::Core::FileAppender Dtk::Core::AbstractStringAppender Dtk::Core::AbstractAppender

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
 返回设置的日志文件单个文件大小上限 更多...
 
- Public 成员函数 继承自 Dtk::Core::FileAppender
 FileAppender (const QString &fileName=QString())
 构造函数,分配给具有给定<fileName>的文件
 
QString fileName () const
 返回由setFileName()设置的名称,或返回FileAppender构造函数传入的fileName 更多...
 
void setFileName (const QString &s)
 设置文件的名称。该名称可以没有路径,可以是相对路径,也可以是绝对路径 更多...
 
qint64 size () const
 返回日志文件大小
 
- Public 成员函数 继承自 Dtk::Core::AbstractStringAppender
 AbstractStringAppender ()
 构建一个新的字符串appender对象
 
virtual QString format () const
 返回当前使用的format字符串 更多...
 
void setFormat (const QString &format)
 设置日志格式, 以便用这个appender向日志目标写入字符串。 更多...
 
- Public 成员函数 继承自 Dtk::Core::AbstractAppender
 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)
 
- Protected 成员函数 继承自 Dtk::Core::FileAppender
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 ()
 
- Protected 成员函数 继承自 Dtk::Core::AbstractStringAppender
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
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 Dtk::Core::AbstractStringAppender
static QString stripFunctionName (const char *name)
 剥离长函数签名(由Q_FUNC_INFO宏添加) 更多...
 

详细描述

RollingFileAppender类扩展了FileAppender,使日志文件在用户选择的频率上进行滚动

该类是基于Log4Qt.DailyRollingFileAppenderLog4Qt 并具有相同的日期模式格式
例如,如果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的最新日志文件存在)

成员枚举类型说明

◆ DatePattern

日志频率

序号 含义
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

成员函数说明

◆ append()

virtual void Dtk::Core::RollingFileAppender::append ( const QDateTime &  time,
Logger::LogLevel  level,
const char *  file,
int  line,
const char *  func,
const QString &  category,
const QString &  msg 
)
protectedvirtual

◆ datePattern()

DatePattern Dtk::Core::RollingFileAppender::datePattern ( ) const

返回当前的滚动更新频率

参见
RollingFileAppender::DatePattern

◆ logFilesLimit()

int Dtk::Core::RollingFileAppender::logFilesLimit ( ) const

返回设置的日志文件数量上限

参见
RollingFileAppender::setLogFilesLimit()

◆ logSizeLimit()

qint64 Dtk::Core::RollingFileAppender::logSizeLimit ( ) const

返回设置的日志文件单个文件大小上限

参见
RollingFileAppender::setLogSizeLimit(int qint64)

◆ setDatePattern() [1/2]

void Dtk::Core::RollingFileAppender::setDatePattern ( const QString &  datePattern)

此重载是为了方便使用,可以传入一个滚动频率字符串

参见
RollingFileAppender::DatePattern
RollingFileAppender::setDatePattern(DatePattern datePattern)

◆ setDatePattern() [2/2]

void Dtk::Core::RollingFileAppender::setDatePattern ( DatePattern  datePattern)

设置日志滚动频率

参见
RollingFileAppender::DatePattern

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