一个完整的程序应该可以是知其然并知其所以然。所以在程序的运行过程中,记录一些必要的日志可以知道程序当前的运行状态,也可以在程序运行出错后,快速定位到错误的位置。
我之前用来记录日志的工具是开源的第三方工具: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