QT4保存调试日志
来源:互联网 发布:知豆新能源资质 编辑:程序博客网 时间:2024/06/05 07:14
windows下Qt程序发布后,所有调试日志都没有了,有时候出错不容易找出,所以做了个根据命令行传入debug后,把调试日志写到文件中的功能:
#include <QtGui/QApplication>#include "mainwindow.h"#include <QFile>#include <QTextStream>#include <QDebug>#include <QDateTime>static QString logfilepath = "debuglog.txt";void customMessageHandler(QtMsgType type, const char *msg){ QString txt; switch (type) { //调试信息提示 case QtDebugMsg: txt = QString("Debug: %1").arg(msg); break; //一般的warning提示 case QtWarningMsg: txt = QString("Warning: %1").arg(msg); break; //严重错误提示 case QtCriticalMsg: txt = QString("Critical: %1").arg(msg); break; //致命错误提示 case QtFatalMsg: txt = QString("Fatal: %1").arg(msg); abort(); } QDateTime now = QDateTime::currentDateTime(); QString filepath = "debuglog_" + now.toString("yyyyMMddhhmmss") + ".txt"; QFile outFile(logfilepath); outFile.open(QIODevice::WriteOnly | QIODevice::Append); QTextStream ts(&outFile); ts << txt << endl;}int main(int argc, char *argv[]){ QApplication a(argc, argv); // 获取命令行参数 QStringList ql = QCoreApplication::arguments (); // 遍历命令行参数,如果传入debug 则把qDebug等输出重定向到文件中 foreach(QString tmp, ql) { qDebug() << "parm: " << tmp << endl; if (tmp == "debug") { QDateTime now = QDateTime::currentDateTime(); logfilepath = "debuglog_" + now.toString("yyyyMMddhhmmss") + ".txt"; //先注册自己的MsgHandleIr qInstallMsgHandler(customMessageHandler); } } //以后就可以像下面这样直接打日志到文件中,而且日志也会包含时间信息 qDebug("This is a debug message at thisisqt.com"); qWarning("This is a warning message at thisisqt.com"); qCritical("This is a critical message at thisisqt.com"); //qFatal("This is a fatal message at thisisqt.com"); MainWindow w; w.show(); return a.exec();}参考:
http://www.cppblog.com/lauer3912/archive/2011/04/10/143870.html
0 0
- QT4保存调试日志
- Qt4实现将调试信息保存到日志
- Eclipse保存Android调试日志
- iOS通过Plist保存离线调试日志
- Eclipse保存console调试及日志信息
- QT4.6.3移植日志
- iPhone开发技巧之调试篇— 保存日志
- iOS真机调试打印并保存控制台输出日志
- 【Qt】qDebug()调试信息保存至txt日志文件
- android应用调试之如何保存logcat日志到本地
- android应用调试之如何保存logcat日志到本地
- 保存日志
- Qt读取和保存GB2312编码(Qt4)
- 调试日志
- iPhone开发技巧之调试篇(2)— 保存日志
- .Net下几种日志管理方法(C# 将Diagnostics.Trace 调试输出 保存到txt)
- Chrome 网络调试小技巧,保存重定向的日志开关
- Android开发调试日志工具类[支持保存到SD卡]
- unbuntu12.04 下安装 codeblocks
- 使用 Dockerfile 实现自动化
- mongodb you can't add a second 问题
- Baas
- 支付宝开发详解
- QT4保存调试日志
- MapReduce:详解Shuffle过程
- android线性布局作业——计算器
- 39 二叉树的深度和宽度以及判断是否是平衡二叉树
- dTree 动态生成树(http://luohua.iteye.com/blog/451453)
- 动态规划的优化技巧
- 大话倒车后视摄像头产品系统设计 - 基于芯片商提供的SDK API开发之四
- javascript性能优化-repaint和reflow
- secureCRT+secureFX相关