Log4Qt 使用(二)

本文基于上一篇《Log4Qt 使用(一)》来继续完善一下关于Log4Qt的使用。

在讲解之前,我们首先来看一个例子:

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    Log4Qt::PropertyConfigurator::configure(a.applicationDirPath() + "/log4qt.conf");
    Object obj;
    return 0;
}

  其中,log4qt.conf 文件在项目根目录下,是日志的配置文件,内容如下:

log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

  首先,我们分析一下上面内容的性质:

  • 配置rootLogger,高于DEBUG的日志被输出,定义一个appender,取名为A1
  • 配置A1,输出到控制台
  • 设置A1采用的layout,并设置其具体格式

  我们看到第二行,一般的系统日志并不会将输出到控制台上,所以我们应该改变一下:

  Log4j提供的appender有:

  

org.apache.log4j.ConsoleAppender

控制台

org.apache.log4j.FileAppender

文件

org.apache.log4j.DailyRollingFileAppender

每天产生一个日志文件

org.apache.log4j.RollingFileAppender

文件大小到达指定尺寸的时候产生一个新的文件

  好,现在我们剩下的一个问题是:如何制定输出日志文件的名字。

# LOG4J daily rolling log files configuration
log4j.rootLogger=DEBUG, RollingAppender
log4j.appender.RollingAppender=org.apache.log4j.DailyRollingFileAppender
#  current log file name "app.log"
log4j.appender.RollingAppender.File=./logs/app.log
#  back up "app.log" to "app.log.yyyy-MM-dd"
log4j.appender.RollingAppender.DatePattern='.'yyyy-MM-dd
# Set the append to false, should not overwrite
#log4j.appender.RollingAppender.Append=true
#log4j.appender.RollingAppender.maxBackupIndex=7
log4j.appender.RollingAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingAppender.layout.ConversionPattern=[%p] %d %c %M - %m%n
原文地址:https://www.cnblogs.com/wiessharling/p/3713412.html