QT log4qt的简单使用

                                                                        QT log4qt的简单使用

一、简述

          记--log4qt简单的使用。例子中:保存到指定日志文件,滚动式存储,限制日志文件个数,限制日志文件大小。

         例子打包:外链:https://wwa.lanzous.com/b0c9a49te 密码:8cj2

二、下载log4qt

http://log4qt.sourceforge.net/

https://github.com/devbean/log4qt

https://gitee.com/mirrors/log4qt

三、测试例子

3.1 添加到工程

将log4qt添加到工程

3.2 测试代码

保存到指定日志文件,滚动式存储,限制日志文件个数,限制日志文件大小。

#include <QCoreApplication>

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

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    /* 根据指定的日志配置文件初始化日志 */
    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");

//     //测试日志滚动
//    for (unsigned int i = 0; i < 30000; i++) {
//        mylog1->debug(QString::asprintf("log for qt test i=%u.", i));
//    }

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

    return a.exec();
}

日志配置文件:

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 立即输出

 

3.3 测试结果

日志文件输出

日志滚动:

四、总结

4.1 通过日志配置文件控制日志信息的输出,如通过调高输出的调试等级减少日志输出

4.2 将qDebug调试信息直接记录到日志文件

Log4Qt::LogManager::setHandleQtMessages(true);

log4qt更多请参考:

http://log4qt.sourceforge.net/

https://logging.apache.org/log4j/2.x/

https://github.com/devbean/log4qt

 

 

 

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页