Qt学习笔记-release版本的日志中QMessageLogContext内容为空。
来源:互联网 发布:blufftitler网络模板 编辑:程序博客网 时间:2024/06/05 09:39
一个完整的程序应该可以是知其然并知其所以然。所以在程序的运行过程中,记录一些必要的日志可以知道程序当前的运行状态,也可以在程序运行出错后,快速定位到错误的位置。
我之前用来记录日志的工具是开源的第三方工具: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版本中正确输出日志信息,如图。
阅读全文
0 0
- Qt学习笔记-release版本的日志中QMessageLogContext内容为空。
- Qt中QMessageLogContext的context.file和context.line为空的解决方案
- 为mysql中查出为空的内容赋默认值
- Qt学习笔记1:创建一个QT的空项目
- android中判断EditText的内容是否为空
- QT 生成release版本
- QT 发布release版本
- 用JS判断ckeditor3.6版本编辑器内容为空的方法。
- 【Qt开发】QTableWidget 判断cell内容为空
- VC++2005、VC2008中Release版本设置为可调试的设置方法
- VC++2005、VC2008中Release版本设置为可调试的设置方法(转载)
- VC++2005、VC2008中Release版本设置为可调试的设置方法
- VC++2005、VC2008中Release版本设置为可调试的设置方法
- Extjs框架html5中input、textarea的placeholder,元素内容为空时,颜色为灰色
- Android Studio 中预览自定义View大小为0或者内容为空的解决方法
- ASP自动隐藏数据库中内容为空的字段(以图片为例)
- textarea内容不为空的问题
- “QT中QString 转const char*为乱码或为空的问题 ”之解决方案
- intelli idea 如何导入maven项目
- 数据结构实验之图论六:村村通公路[prim 最小生成树]
- PHP连接sqlserver2000数据库
- 关于MVC4使用PagedList.mvc分页
- CF 813E 分块暴力
- Qt学习笔记-release版本的日志中QMessageLogContext内容为空。
- Android自定义ViewGroup的OnMeasure和onLayout详解
- 文章标题
- spring动态数据源
- linux清理内存命令
- DAY1 python小白学习NOTE
- vue+localStorage+收藏+解析url参数 实例解析
- 关于linux下读取文件路径出错的问题(win10 & docker)
- 这也是快乐