Qt保存日志调试信息输出文件
在项目中需将日志打印消息保存到文件中,用来定位出现的问题。
直接上代码:
#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保存日志调试信息输出文件相关推荐
- python打开文件报错无效序列_黑马python入门(4):python基础(序列,异常,操作文件,模块包,日志调试信息)
序列 str声明:test_str="abcedf" 也可以保留字符串里面的格式来 test_str=""" \r\n测试标题 hello world ...
- wince 串口调试信息输出
不管在WinCE5.0还是在WinCE6.0中,我们在调试驱动或者应用的时候都会用到打印函数.在驱动里面,我们可能会用DEBUGMSG(..),RETAILMSG(..),还有NKDbgPrintfW ...
- VC调试信息输出 TRACE宏
TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能:该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代 ...
- QT在QDebug调试参数输出带有引号如何去掉?
QDebug调试信息不管是直接引出参数还是通过"+"的方式输出,内容显示都会自带加有引号,如图. 可以从图中看到参数foodName是QString类型,如果将类型转换成char ...
- Qt on Android:将Qt调试信息输出到logcat中
版权全部 foruok .如需转载敬请注明出处(http://blog.csdn.net/foruok). 假设你在目标 Android 设备上执行了 Qt on Android 应用,你可能希望看到 ...
- qt在GUI显示时,将调试信息输出到控制台的设置
1. 在.pro文件中添加一下设置: CONFIG += console 2. 项目的[构建和运行]中,需要勾选[Run in terminal]: 转载于:https://www.cnblogs.c ...
- Qt保存QTextEdit内存至.txt文件中
01. 保存按钮点击槽函数 //避免文件对话框弹出两次 //Qt::UniqueConnection确保同一信号与同一个槽函数之间只有一个连接,避免按钮点击后槽函数触发两次 connect(ui-&g ...
- 实现用户端的充值、修改密码、查看个人信息、保存用户的信息到文件操作
目录 话不多说直接先上源码 用户类User 核心部分:添加用户到文件中 添加用户的操作 User类 展示个人信息(包括历史充值记录) 修改密码操作 实现修改密码界面 充值操作 实现充值界面 充值后再次 ...
- [secureCRT]保存终端打印信息到文件
[Start log upon connect] [在连接上开始记录日志] 这里不打勾软件不知道从何时开始记录日志,打钩了当我一登陆就开始往文件写日志了. [Append to file] 如果选了[ ...
- C++ 自定义调试信息的输出
自定义调试信息的输出 调试信息的输出方法有很多种, 例如直接用printf, 或者出错时使用perror, fprintf等将信息直接打印到终端上, 在Qt上面一般使用qDebug,而守护进程则一 ...
最新文章
- 在Asp.Net MVC中设定site路径所对应的默认action
- jQuery的单引号双引号
- servletcontext 使用解析
- 获取2个地址之间的距离(高德API)
- activemq 内存_ActiveMQ中的温度,存储和内存使用百分比
- oracle追踪触发器语句,Oracle中怎样通过触发器来追踪用户的活动?
- iPad开发(Universal Applications)
- zblog php mip,zblog网站改造百度MIP的教程仅针对zblog轻奢主题
- ajax异步注册代码,基于AJAX用户注册信息异步校验
- js 基础 -- 循环、函数调用 、全局和局部变量、异常捕获、事件
- mac下修改MySQL密码
- 15.Linux/Unix 系统编程手册(上) -- 文件属性
- 【Docker】06 DockerFile
- The process cannot access the file '' because it is being used by another process.....
- 马哥【直播班】Python运维自动化与DevOps项目特训班学习记录
- 《计算机网络 自顶向下方法》(第7版)答案(第二章)(一)
- oracle计算本年第几周,详细讲解“Oracle”数据库的“周数计算”
- 标准之争:影响 IPv6 部署的经济学因素
- 计算机无法连接网络错误651,Win7宽带连接错误651的原因和解决方法
- CF1129C Morse Code
热门文章
- js基础-9-正则表达式
- continue 结束本次循环,继续下一次循环
- linux安装雅黑字体,在CentOS系统中安装雅黑字体
- vue dialog控制右上角关闭按钮事件_高级 Vue 技巧:控制父类的 slot
- python做出代码结构图_数据结构之图的代码实现(使用Python实现)
- python3标识符_python3学习笔记一(标识符、关键字)
- python数值类型和序列类型_数值类型和序列类型(python)
- string.join用法
- 基于钉钉服务简单监控
- 高程(三)--- Date