编译

从网上下载Log4Qt源码
使用QtVisualStudioTools工具导入Vs项目中
Log4Qt简易使用说明_开发语言
修改相关配置,生成静态库
Log4Qt简易使用说明_apache_02
使用
这边进行了二次封装

#pragma once

#include "log4qt/log4qt.h"
#include "log4qt/logmanager.h"
#include "log4qt/propertyconfigurator.h"
#include "libpublic.h"

class CMyLog4Qt
{
public:

//************************************
// 作者:
// 日期: 2020/06/05
// 函数: initLog
// 参数: const QString & logpath
// 返回: void
// 功能: 初始化日志
//************************************
static void initLog(const QString& logconfig = LibPublic::GetCurrentPath() + "/Config/Log4Qt.conf")
{
Log4Qt::PropertyConfigurator::configure(logconfig);

};
};
#include <QtCore/QCoreApplication>
#include <QDebug>
#include "../LibPublic/cmylog4qt.h"


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

//Log4Qt::PropertyConfigurator::configure(QString(QCoreApplication::applicationDirPath()) + "/Config/Log4Qt.conf");
CMyLog4Qt::initLog();

int i = 0;
while (1)
{
i++;
qDebug() << QString::fromLocal8Bit("测试日志qDebug %1")
.arg(i)
.toUtf8().data();

qInfo() << QString::fromLocal8Bit("测试日志qInfo %1")
.arg(i)
.toUtf8().data();

qWarning() << QString::fromLocal8Bit("测试日志qWarning %1")
.arg(i)
.toUtf8().data();

qCritical() << QString::fromLocal8Bit("测试日志qCritical %1")
.arg(i)
.toUtf8().data();
}






return a.exec();
}

配置文件
网络整理的配置文件

#设置储存log文件的根目录
logpath=./Logs
# 配置日志的输出格式: %r耗费毫秒数 %p日志的优先级 %t线程名 %C所属类名通常为全类名 %L代码中的行号 %x线程相关联的NDC %m日志 %n换行
logConversionPattern=[ %d{yyyy-MM-dd HH:mm:ss.zzz} ] [ %p ] --> %m %n

#设置是否监听QDebug输出的字符串
log4j.handleQtMessages=true

#设置根Logger的输出log等级为All
# log4j.rootLogger日志输出类别和级别:只输出不低于该级别的日志信息DEBUG < INFO < WARN < ERROR < FATAL
#设置Log输出的几种输出源(appender):console, daily, rolling
log4j.rootLogger=ALL, console, daily, rolling

#############
# 输出到控制台
#############
###############################################################################################
# 配置INFO CONSOLE输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 配置CONSOLE设置为自定义布局模式
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# 配置logfile为自定义布局模式
log4j.appender.console.layout.ConversionPattern=${logConversionPattern}
###############################################################################################

################
# 输出到日志文件中
################

###############################################################################################
# 配置logfile输出到文件中 每日产生文件
log4j.appender.daily=org.apache.log4j.DailyFileAppender
# 输出文件位置此为项目根目录下的logs文件夹中
log4j.appender.daily.file=${logpath}/Log.log
log4j.appender.daily.datePattern=_yyyy_MM_dd
#true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是false
log4j.appender.daily.appendFile=true
# 设置保留天数
log4j.appender.daily.keepDays=30
# 配置logfile为自定义布局模式
log4j.appender.daily.layout=org.apache.log4j.PatternLayout
log4j.appender.daily.layout.ConversionPattern=${logConversionPattern}
###############################################################################################

###############################################################################################
# 配置logfile输出到文件中 文件大小到达指定尺寸的时候产生新的日志文件
log4j.appender.rolling=org.apache.log4j.RollingFileAppender
# 输出文件位置此为项目根目录下的logs文件夹中
log4j.appender.rolling.file=${logpath}/Log_Rolling.log
#true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是false
log4j.appender.rolling.appendFile=false
# 后缀可以是KB,MB,GB达到该大小后创建新的日志文件
log4j.appender.rolling.MaxFileSize=50KB
# 设置滚定文件的最大值5
log4j.appender.rolling.MaxBackupIndex=10
# 配置logfile为自定义布局模式
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=${logConversionPattern}
###############################################################################################