关键词不能为空

当前您在: 主页 > 英语 >

Log4QT的使用笔记

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-17 23:40
tags:

-

2021年2月17日发(作者:hagen)







Log4Qt


简介


< br>.


................................... .................................................. ......................................


2



Log4j


配置文件



.............................................. .................................................. ...............


5



配置根


Logger


....... .................................................. ...............................................


5



配置


Appender



............................................. .................................................. ........


6



配置


layout


< br>.


................................... .................................................. ................................


6



如何使用第三方库?


............................................. .................................................. ................


7


题外


................................... .................................................. ..............................................


7



工程结构示例



.

................................................ .................................................. ................


8



使用


Log4Qt


< br>.


................................... .................................................. ......................................


9





.


.............................. .................................................. .................................


9




... .................................................. .................................................. .........


1


0


Logger



.......... .................................................. .................................................. .....................


11


环境变 量


...................................... .................................................. .........................................


1


2


初始化


.................................................. .................................................. ................................


1


3


还有点什么?

< br>............................................... .................................................. ........................


1


4


实现细节



.


.................................................. .................................................. ....................


1


4



/dbzhang800/article/details /6916948



Log4Qt


简介



Log4Qt



Apache Log4J



Qt


移植版,所以看< /p>


Log4J


的资料应该是最直接有效的(因为

Log4Qt


的直接资料


太少了)。



Log4Qt


主要是用来记录日志


(


有助于程序调试


)


。有


3


个主要的组件:



Logger


提供日志记录服务,可以有多个


Logger


存在,每个有它们自己的名字。


Logg er


间存在隶属关系,


有一个


Logg er


称为根


Logger


< p>


Appender


用来指明将日志记录到什么 地方:比如,控制台、文件、数据库,等等



Layout < /p>


控制日志的输出格式,可以类比一下


C


中 的


printf





例子一



一 个简单的使用


Log4Qt



Qt


程序:


(


使用基础配置和根


logger)


#include


#include


#include


int main(int argc, char *argv[])


{


QCoreApplication a(argc, argv);


Log4Qt::BasicConfigurator::configure();


Log4Qt::Logger * log = Log4Qt::Logger::rootLogger();


log->deb ug(


log->info(


log->warn(

< p>
return 0;


}


结果如下:



16 [0x00a56708] DEBUG root - Hello DbZhang800!


16 [0x00a56708] INFO root - Hello Qt!


16 [0x00a56708] WARN root - Hello 1+1=2



例子二



稍微扩充一点,使用自己定义的


logger



结果:



0 [0x00a56708] INFO Object - Constructor


0 [0x00a56708] INFO Object - Destructor


在类


Object


中,我们可以使用名 为




Logger

。恩,直接指定类名是可以的。可是我们现在在


Qt


下啊。


Qt


的元对象系统中包含类的名字,故尔我们可以直接使用。< /p>



例子三



用使 用元对象系统,那么必须使用


Q_OBJECT


宏,然后我们从 元对象系统获取类的名字,然后创建一个相应的


logger


就 行了。



不过


Log4Qt

< p>
,既然是为


Qt


准备的,那么就要为


Qt


程序解忧嘛,也就是宏



LOG4QT_DECLARE_QCLASS_LOGGER


这个宏展开后成为该类的一个成员函数,返回一个


Logger


,我们就可以直接使用了:




程序的输出结果如下:



2011-10-29 13:52:06 [Object]-[INFO] constructor


2011-10-29 13:52:06 [Object]-[INFO] destructor


注意,本例中,我们没有使 用默认配置,而是使用了一个配置文件



,放在了可执行程序所在 目录下面



gger=DEBUG,A1 er.A1=eAppender


=nLayout


sionPattern=%-d{yyyy-MM-dd HH:mm:ss}


[%c]-[%p] %m%n


额,没错,里面的这些东西确 实都是以


log4j


打头的,所以需要看


log4j


的手册来搞清楚这些东西:



?



配置


ro otLogger


,高于


DEBUG


的 日志被输出,定义一个


appender


,取名为


A1


?



配置

< p>
A1


,输出到控制台



?



设置


A1


采用的


layout


,并设置其具体格 式



Log4j


配置文件



我是不是太了解,简单整理一下:



配置根


Logger


其语法



gger = [level], appenderName1, appenderName2, ...


其中:



?



level


控制日志输出的级别:



OFF


FATAL


ERROR



WARN



建议使用的几个级别?,高于指定级别的日志才被输出



INFO



DEBUG



TRACE



关闭所有日志输出




ALL


所有日志均输出



?



appenderName



appender


的名字,指定输出到哪 儿



注:除


rootLogger


外,还可以对各个


logger


分别设置< /p>



ame = [level], appenderName1, appenderName2, ...



配置


Appender


语法



erName =


1 = value1 ...


N = valueN < /p>


name


可以任意取,


Log4j


提供的


appender


有:



eAppender



pender



ollingFileAppender



gFileAppender



控制台



文件



每天产生一个日志文件



文件大小到达 指定尺寸的时候产生一个新的文




配置


layout


语法



=


1 = value1 …


N = valueN


其中:



log4j

< br>提供的


layout




yout



nLayout



< br>HTML


表格形式布局



可以灵活地指定布局模式



Layout



yout



格式控制符:



包含日志信息的级别和信息字符串



包含日志产生的时间、线程、类别等等信息



%m


%p


%c


%n


输出代码中指定的消息



输出优先级,即


DEBUG



INFO



WARN



ERROR



FATAL

< br>输出


logger


的名字,通常就是所在类的全名



输出一个回车换行符


输出时间,默认格式为


ISO8601


,也可以指定格式, 比如:


%d{yyyy MMM dd HH:mm:ss}


, 类似:


2011



10



28


%d




14


:< /p>


10



28




如何使用第三方库?



不少人使用第三方库时都是:



?



下载源码



?



找出必要的文件



?



然后添加进自己的工程



一般来说,我 们可以将所有和这个库有关的东西放置到一个



这样的文件中,然 后在需要使用的工程


中直接包含这个文件即可:



比如:我们先看看,上一节中我所写例子所用的


pro


文件:



include(../../) CONFIG += console DESTDIR = $$$$PROJECT_BINDIR


SOURCES +=


有一点不同:这个文件背后,使用的 不是直接包含文件,而是动态库。这也是本文的内容。



题外



?


< /p>


注:在


/r/dbzhang800-qextserialpo rt/


这个第三方库中,我采用的另一种思路



可以采用下面三种方式来使用


QextSerialPort:


静态库



动态库



直接包含源文件



不管使用哪种方式,使用时只需要在工程文件内添加


include(pathToPri/)

-


-


-


-


-


-


-


-



本文更新与2021-02-17 23:40,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/663692.html

Log4QT的使用笔记的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文