Log4QT使用笔记.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Log4QT使用笔记

目录 Log4Qt简介 2 Log4j配置文件 5 配置根Logger 5 配置Appender 6 配置layout 6 如何使用第三方库? 7 题外 7 工程结构示例 8 使用Log4Qt 9 libLog4Qt.pri 9 10 Logger 11 环境变量 12 初始化 13 还有点什么? 14 实现细节 14 /dbzhang800/article/details/6916948 Log4Qt简介 Log4Qt 是Apache Log4J 的Qt移植版,所以看Log4J的资料应该是最直接有效的因为Log4Qt的直接资料太少了。 Log4Qt主要是用来记录日志(有助于程序调试)。有3个主要的组件: Logger 提供日志记录服务,可以有多个Logger存在,每个有它们自己的名字。Logger间存在隶属关系,有一个Logger称为根Logger。 Appender 用来指明将日志记录到什么地方:比如,控制台、文件、数据库,等等 Layout 控制日志的输出格式,可以类比一下C中的printf。 例子一 一个简单的使用Log4Qt的Qt程序:(使用基础配置和根logger) #include QtCore #include logger.h #include basicconfigurator.h int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); Log4Qt::BasicConfigurator::configure(); Log4Qt::Logger * log = Log4Qt::Logger::rootLogger(); log-debug(Hello DbZhang800!); log-info(Hello Qt!); log-warn(Hello 1+1=2); 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中,我们可以使用名为Object的Logger。恩,直接指定类名是可以的。可是我们现在在Qt下啊。Qt的元对象系统中包含类的名字,故尔我们可以直接使用。 例子三 用使用元对象系统,那么必须使用Q_OBJECT宏,然后我们从元对象系统获取类的名字,然后创建一个相应的logger就行了。 不过Log4Qt,既然是为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 注意,本例中,我们没有使用默认配置,而是使用了一个配置文件log4qt.conf,放在了可执行程序所在目录下面 log4j.rootLogger=DEBUG,A1 log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n 额,没错,里面的这些东西确实都是以log4j打头的,所以需要看log4j的手册来搞清楚这些东西: 配置rootLogger,高于DEBUG的日志被输出,定义一个appender,取名为A1 配置A1,输出到控制台 设置A1采用的layout,并设置其具体格式 Log4j配置文件 我是不是太了解,简单整理一下: 配置根Logger 其语法 log4j.rootLogger = [level], appenderName1, appenderName2, ... 其中: level 控制日志输出的级别: OFF 关闭所有日志输出 FATAL ? ERROR 建议使用的几个级别?,高于指定级别的日

文档评论(0)

sh4125733 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档