Qt学习笔记-release版本的日志中QMessageLogContext内容为空。
2017-06-17 13:02
302 查看
一个完整的程序应该可以是知其然并知其所以然。所以在程序的运行过程中,记录一些必要的日志可以知道程序当前的运行状态,也可以在程序运行出错后,快速定位到错误的位置。
我之前用来记录日志的工具是开源的第三方工具:Log4qt。Log4qt要根据源码编译库,还要写一个配置文件,非常繁琐。
在后面的学习过程中发现原来Qt5自带一个Qt::qInstallMessageHandler()(Qt4为Qt::qInstallMsgHandler())来重定向qDebug()、qWarning()等宏的处理,使用方法参照这个链接http://blog.sina.com.cn/s/blog_a6fb6cc90101guc5.html。
Release版本的输出却没有文件信息、行数等信息,如图。
原因是:文件信息、行数等信息在Release版本默认舍弃。我们只要在.pro文件定义一个宏
然后,重新qmake,编译(有可能要删除掉之前编译的中间文件),就可以在Release版本中正确输出日志信息,如图。
我之前用来记录日志的工具是开源的第三方工具:Log4qt。Log4qt要根据源码编译库,还要写一个配置文件,非常繁琐。
在后面的学习过程中发现原来Qt5自带一个Qt::qInstallMessageHandler()(Qt4为Qt::qInstallMsgHandler())来重定向qDebug()、qWarning()等宏的处理,使用方法参照这个链接http://blog.sina.com.cn/s/blog_a6fb6cc90101guc5.html。
Release版本的输出却没有文件信息、行数等信息,如图。
原因是:文件信息、行数等信息在Release版本默认舍弃。我们只要在.pro文件定义一个宏
DEFINES += QT_MESSAGELOGCONTEXT
然后,重新qmake,编译(有可能要删除掉之前编译的中间文件),就可以在Release版本中正确输出日志信息,如图。
相关文章推荐
- 3、Qt学习笔记--日志文件(log)
- Qt学习笔记-Qtcreator的webkit和qt4.7.0的版本有关
- WebKit 学习笔记(6) -- qt4 的应用程序
- WebKit 学习笔记(6) -- qt4 的应用程序(2)
- wmi 学习笔记之获得系统版本
- 学习笔记----图形界面程序Qt安装及其在2410-s上的移植
- Jsp&Servelet 学习笔记-映射静态的内容到一个servlet中
- CVS版本控制管理学习笔记
- Qt Model/View 学习笔记 (五)
- WebKit 学习笔记(5) -- qt javascript 扩展
- js宝典学习笔记,记录JAVA SCRIPT宝典中的内容
- hibernate3 学习笔记(三) hibernate 日志配置文件 log4j.properties
- 软件测试学习笔记--(集成测试的内容)
- Qt Model/View 学习笔记 (三)
- Qt Model/View 学习笔记 (四)
- 【JfaceTextFramework学习笔记之二】内容提示
- 内容管理核心JCR (JSR-170) 学习笔记
- wmi 学习笔记之获得系统版本
- 学习笔记:Linux日志文件
- Qt Model/View 学习笔记 (二):为使用Models与views热身