Log4Qt日志库使用

        Log4Qt是使用Trolltech Qt Framework的Apache Software Foundation Log4j包的C ++端口。它旨在供开源和商业Qt项目使用。Log4Qt主要是用来记录日志(有助于程序调试)。有3个主要的组件:

  1. Logger:提供日志记录服务,可以有多个Logger存在,每个有它们自己的名字。Logger间存在隶属关系,有一个Logger称为根Logger。
  2. Appender:用来指明将日志记录到什么地方:比如,控制台、文件、数据库,等等
  3. Layout:控制日志的输出格式,可以类比一下C中的printf哈。
1.源码下载

当前最新版本为log4qt-0.3.zip,这源码包最后修改日期为2009年3月1日。

2.将log4Qt源码添加到Qt工程

将log4Qt源码拷贝到工程目录中,在.pro文件中添加以下配置:

include (log4qt/log4qt.pri)

3.log4Qt使用

配置文件log.conf(注意:在使用时需要将中文部分删除掉):

log4j.rootLogger=WARN,Mylog1   这里的WARN表示日志仅记录WARN及以上等级的输出,DEBUG,INFO不做记录
log4j.appender.Mylog1=org.apache.log4j.FileAppender 将日志记录到文件
log4j.appender.Mylog1=org.apache.log4j.RollingFileAppender 滚动时存储
log4j.appender.Mylog1.layout=org.apache.log4j.PatternLayout
log4j.appender.Mylog1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] :%m%n日志输出格式,%m表示日志信息字符串,%n表示换行
log4j.appender.Mylog1.File=mytest.log 日志文件名称
log4j.appender.Mylog1.MaxFileSize=50KB 每个日志文件最大大小,其它单位MB,GB
log4j.appender.Mylog1.MaxBackupIndex=2 日志滚动个数,这里2就是只生成mytest.log.1 mytest.log.2
log4j.appender.Mylog1.AppendFile=true 追加模式
log4j.appender.Mylog1.ImmediateFlush=true 立即输出

头文件:

/* log4qt头文件引用 */
#include "log4qt/logger.h"
#include "log4qt/logmanager.h"
#include "log4qt/propertyconfigurator.h"

使用:

    /* 根据指定的日志配置文件初始化日志 */
    Log4Qt::PropertyConfigurator::configure(a.applicationDirPath() + "/log.conf");
    Log4Qt::Logger *mylog1 = Log4Qt::Logger::logger("Mylog1");

    /* 日志输出 */
    mylog1->debug("log debug");
    mylog1->info("log info");
    mylog1->warn("log warn");
    mylog1->error("log error");
    mylog1->fatal("log fatal");

    /* 处理qt调试输出信息,将qDebug之类的信息重定向到日志文件 */
    Log4Qt::LogManager::setHandleQtMessages(true);
    qDebug("qDebug");
    qInfo("qInfo");
    qWarning("test");
    qCritical("qCritical");
    qFatal("qFatal");

猜你喜欢

转载自blog.csdn.net/weixin_55238862/article/details/135442230