技术标签: C++
Qt使用日志框架log4qt
1.下载log4qt源码,导入qtCreator中,进行编译,生成动态/静态库,源码的github地址。
链接中可以下载编译好的静态lib库:https://download.csdn.net/download/quietbxj/12474891
2.新建Qt项目,添加上一步骤中编译的库和需要的头文件,如下图所示。
3.添加资源文件log4qt.conf
## 指定扩展器
log4j.logger.log=DEBUG, console, daily
## 控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss zzz} [%p] - %m%n
#每日储存一个log文件
log4j.appender.daily=org.apache.log4j.DailyFileAppender
log4j.appender.daily.file=logs/test.log
log4j.appender.daily.appendFile=true
log4j.appender.daily.datePattern=_yyyy_MM_dd
log4j.appender.daily.keepDays=20
log4j.appender.daily.layout=org.apache.log4j.PatternLayout
log4j.appender.daily.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss zzz} [%p] - %m%n
4.Qt调用log4qt,输出日志。
bool bConfig=Log4Qt::PropertyConfigurator::configure(":/log4qt.conf");
if(bConfig){
Log4Qt::Logger *log = Log4Qt::Logger::logger("log");
log->info("iiiiiiii");
log->debug("dddddddd");
}
输出(运行正常):
2020-05-29 15:38:12 [INFO] - iiiiiiiiiiiii
2020-05-29 15:38:12 [DEBUG] - dddddd
C语言if else嵌套教程C语言if else嵌套详解语法if (condition){if (condition1){// do something1}else if (condition2){// do something2}}else{if (condition3){// do something3}else if (condition4){// do something4}else{//...
10 Redis雪崩,穿透,击穿三连问能够生存下来的物种,并不是那些最强壮的,也不是那些最聪明的,而是那些对变化作出快速反应的。——达尔文引言关于Redis雪崩,穿透,击穿的问题,第一次接触名字有点陌生,听上去还比较相似,难以理解,过去做的很多项目中也都是用过Redis,但是第一次听到这几个关于Redis的坑还是一脸懵逼,直到这些坑真正显灵的时候才彻底意识...
Chapter 3 决策树’dict_keys’ object is not subscriptable - firstStr = myTree.keys()[0] # 根结点 + firstStr = list(myTree.keys())[0] # 根结点 UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x80 in p...
1.Glusterfs简介GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负
英文期刊论文(*为通讯作者):1.Xin Xue, Xinyong Wu, Juan Liao*. Hot-cracking susceptibility and shear fracture behavior of dissimilar Ti6Al4V/AA6060 alloys in pulsed Nd:YAG laser welding. Chinese Journal of Aeronau...
原文地址先看看官网对于AppBarLayout.OnOffsetChangedListener的解释:Interface definition for a callback to be invoked when an AppBarLayout's vertical offset changes.当AppBarLayout垂直方向上的偏移量发生改变时,为触发一个回调方
#include #include #include #include using namespace std;/*问题:实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两颗子树的高度差不超过1.分析:关于树的大部分问题都是和递归相关。 所以如果一棵树的左子树的高度和右子树各自平衡,且这两颗子树的高度之差不超过1即可。 递归基:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _0706_函数_ref_引用参数_{ class Program { //交换两个整数的值 ...
高速缓存(cache)存储器:这里先说明一下(高速缓存)cache和(高速缓冲)buffer的区别: buffer主要作用是在一定程度上减少对IO设备访问的次数,可以起到流量整形的作用,也提升了系统的性能,毕竟IO操作和内存和cpu的处理速度差距还是很大的,比如下载一个文件,是积攒到一定量才写回磁盘,而不是下载一个字节写回一个字节,这样过不了多久,磁盘就损坏了。 cache主要作用是缓解处理数据
cdex001Looking for CD ripping software that does a quality job? Now you can enjoy having great results when ripping and converting your music with WildFire CD Ripper CDex.寻找质量出色的CD翻录软件吗? 现在,当您翻录和转换音乐...
以管理员权限运行cmd,输入以下内容:cacls "C:\ProgramData\Acunetix\shared\license." /t /p everyone:r如图:转载于:https://www.cnblogs.com/Excellent-person/p/11083263.html...
西门子S7-200PG/PC设置无PC/PPI Cable驱动解决方法有关西门子S7-200PLC的编程软件是V4.0 STEP 7 MicroWIN SP9,但是对于一些刚装上这个软件的人来说,可能电脑连接不上PLC, 尽管S7-200已经宣布退市,但是仍然使用S7-200的客户不在少数。以前在安装V4.0 STEP 7 MicroWIN SP9的时候经常会遇到软件装完了,但是在设置PG/PC那里找不到PC/PPI Cable驱动。最近我发现这是可以解决的,WIN7和WIN10都可以,只是由于没有长期的