您的位置:首页 > 编程语言 > Qt开发

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文件定义一个宏

DEFINES += QT_MESSAGELOGCONTEXT


然后,重新qmake,编译(有可能要删除掉之前编译的中间文件),就可以在Release版本中正确输出日志信息,如图。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: