在项目中需将日志打印消息保存到文件中,用来定位出现的问题。

直接上代码:

#include <QDebug>
#include <QTextStream>
#define _TIME_ qPrintable (QTime::currentTime ().toString ("hh:mm:ss:zzz"))//时间记录
void myLogput(QtMsgType type, const QMessageLogContext &context, const QString &msg){QString txt;switch (type) {//调试信息提示case QtDebugMsg:txt = QString("Debug: %1: %2: %3: %4").arg(_TIME_ ).arg(context.file).arg(context.line).arg(msg);
//保存日志格式为:时间: 文件名:日志行号:日志消息break;//一般的warning提示case QtWarningMsg:txt = QString("Warning: %1").arg(msg);//保存格式可参考第一个case修改,这里不再修改break;//严重错误提示case QtCriticalMsg:txt = QString("Critical: %1").arg(msg);break;//致命错误提示case QtFatalMsg:txt = QString("Fatal: %1").arg(msg);abort();}QString strPath = QCoreApplication::applicationDirPath() + "/"+log.txt;QFile outFile1(strPath);outFile1.open(QIODevice::WriteOnly | QIODevice::Append);QTextStream out(&outFile1);out << txt << endl;}//在项目main函数安装消息.安装日志保存消息后会将项目中出现日志地方保存到文件中
int main(int argc, char *argv[])
{QApplication a(argc, argv);// 安装消息处理程序,qInstallMessageHandler(myLogput);return a.exec();
}

日志保存也可参考:Qt 之 qInstallMessageHandler(输出详细日志)_一去丶二三里的博客-CSDN博客_qinstallmessagehandler

Qt5版本以前日志保存可参考Qt log日志保存_qcgao的博客-CSDN博客_qt 保存日志

Qt保存日志调试信息输出文件相关推荐

  1. python打开文件报错无效序列_黑马python入门(4):python基础(序列,异常,操作文件,模块包,日志调试信息)

    序列 str声明:test_str="abcedf" 也可以保留字符串里面的格式来 test_str=""" \r\n测试标题 hello world ...

  2. wince 串口调试信息输出

    不管在WinCE5.0还是在WinCE6.0中,我们在调试驱动或者应用的时候都会用到打印函数.在驱动里面,我们可能会用DEBUGMSG(..),RETAILMSG(..),还有NKDbgPrintfW ...

  3. VC调试信息输出 TRACE宏

    TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能:该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代 ...

  4. QT在QDebug调试参数输出带有引号如何去掉?

    QDebug调试信息不管是直接引出参数还是通过"+"的方式输出,内容显示都会自带加有引号,如图. 可以从图中看到参数foodName是QString类型,如果将类型转换成char ...

  5. Qt on Android:将Qt调试信息输出到logcat中

    版权全部 foruok .如需转载敬请注明出处(http://blog.csdn.net/foruok). 假设你在目标 Android 设备上执行了 Qt on Android 应用,你可能希望看到 ...

  6. qt在GUI显示时,将调试信息输出到控制台的设置

    1. 在.pro文件中添加一下设置: CONFIG += console 2. 项目的[构建和运行]中,需要勾选[Run in terminal]: 转载于:https://www.cnblogs.c ...

  7. Qt保存QTextEdit内存至.txt文件中

    01. 保存按钮点击槽函数 //避免文件对话框弹出两次 //Qt::UniqueConnection确保同一信号与同一个槽函数之间只有一个连接,避免按钮点击后槽函数触发两次 connect(ui-&g ...

  8. 实现用户端的充值、修改密码、查看个人信息、保存用户的信息到文件操作

    目录 话不多说直接先上源码 用户类User 核心部分:添加用户到文件中 添加用户的操作 User类 展示个人信息(包括历史充值记录) 修改密码操作 实现修改密码界面 充值操作 实现充值界面 充值后再次 ...

  9. [secureCRT]保存终端打印信息到文件

    [Start log upon connect] [在连接上开始记录日志] 这里不打勾软件不知道从何时开始记录日志,打钩了当我一登陆就开始往文件写日志了. [Append to file] 如果选了[ ...

  10. C++ 自定义调试信息的输出

    自定义调试信息的输出 调试信息的输出方法有很多种,  例如直接用printf,  或者出错时使用perror, fprintf等将信息直接打印到终端上, 在Qt上面一般使用qDebug,而守护进程则一 ...

最新文章

  1. 在Asp.Net MVC中设定site路径所对应的默认action
  2. jQuery的单引号双引号
  3. servletcontext 使用解析
  4. 获取2个地址之间的距离(高德API)
  5. activemq 内存_ActiveMQ中的温度,存储和内存使用百分比
  6. oracle追踪触发器语句,Oracle中怎样通过触发器来追踪用户的活动?
  7. iPad开发(Universal Applications)
  8. zblog php mip,zblog网站改造百度MIP的教程仅针对zblog轻奢主题
  9. ajax异步注册代码,基于AJAX用户注册信息异步校验
  10. js 基础 -- 循环、函数调用 、全局和局部变量、异常捕获、事件
  11. mac下修改MySQL密码
  12. 15.Linux/Unix 系统编程手册(上) -- 文件属性
  13. 【Docker】06 DockerFile
  14. The process cannot access the file '' because it is being used by another process.....
  15. 马哥【直播班】Python运维自动化与DevOps项目特训班学习记录
  16. 《计算机网络 自顶向下方法》(第7版)答案(第二章)(一)
  17. oracle计算本年第几周,详细讲解“Oracle”数据库的“周数计算”
  18. 标准之争:影响 IPv6 部署的经济学因素
  19. 计算机无法连接网络错误651,Win7宽带连接错误651的原因和解决方法
  20. CF1129C Morse Code

热门文章

  1. js基础-9-正则表达式
  2. continue 结束本次循环,继续下一次循环
  3. linux安装雅黑字体,在CentOS系统中安装雅黑字体
  4. vue dialog控制右上角关闭按钮事件_高级 Vue 技巧:控制父类的 slot
  5. python做出代码结构图_数据结构之图的代码实现(使用Python实现)
  6. python3标识符_python3学习笔记一(标识符、关键字)
  7. python数值类型和序列类型_数值类型和序列类型(python)
  8. string.join用法
  9. 基于钉钉服务简单监控
  10. 高程(三)--- Date