Log4Qt简易使用说明

  • 编译

    • 从网上下载Log4Qt源码
    • 使用QtVisualStudioTools工具导入Vs项目中
    • 修改相关配置,生成静态库
  • 使用

    •  这边进行了二次封装
#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}
###############################################################################################

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值