Qt:重定向QDebug输出到文件,并附上日期
来源:互联网 发布:货单打印软件 编辑:程序博客网 时间:2024/06/01 13:05
介绍
代码比较简单,就是一个函数,在main中调用即可
函数申明
void setDebugOutput(const QString &targetFilePath, const bool &argDateFlag = false);
函数实现
void setDebugOutput(const QString &rawTargetFilePath_, const bool &argDateFlag_){ static QString rawTargetFilePath; static bool argDateFlag; rawTargetFilePath = rawTargetFilePath_; argDateFlag = argDateFlag_; class HelperClass { public: static void messageHandler(QtMsgType type, const QMessageLogContext &, const QString &message_) { QString message; switch ( type ) { case QtDebugMsg: { message = message_; break; } case QtWarningMsg: { message.append("Warning: "); message.append(message_); break; } case QtCriticalMsg: { message.append("Critical: "); message.append(message_); break; } case QtFatalMsg: { message.append("Fatal: "); message.append(message_); break; } default: { break; } } QString currentTargetFilePath; if ( argDateFlag ) { currentTargetFilePath = rawTargetFilePath.arg( ( ( argDateFlag ) ? ( QDateTime::currentDateTime().toString("yyyy_MM_dd") ) : ( "" ) ) ); } else { currentTargetFilePath = rawTargetFilePath; } if ( !QFileInfo::exists( currentTargetFilePath ) ) { QDir().mkpath( QFileInfo( currentTargetFilePath ).path() ); } QFile file( currentTargetFilePath ); file.open( QIODevice::WriteOnly | QIODevice::Append ); QTextStream textStream( &file ); textStream << QDateTime::currentDateTime().toString( "yyyy-MM-dd hh:mm:ss" ) << ": " << message << endl; } }; qInstallMessageHandler( HelperClass::messageHandler );}
注意:记得include需要的头文件
函数使用
- 不动态追加日期
setDebugOutput( "/Users/jason/desktop/log/all.log" );
- 动态追加日期
setDebugOutput( "/Users/jason/desktop/log/%1.log", true );
0 0
- Qt:重定向QDebug输出到文件,并附上日期
- Qt:重定向QDebug输出到文件,并附上日期
- qDebug 输出重定向
- 实现Qt日志功能并输出到文件(qDebug\qWarning\ qCritical\qFatal)
- 实现Qt日志功能并输出到文件(qDebug\qWarning\ qCritical\qFatal)
- 实现Qt日志功能并输出到文件(qDebug\qWarning\ qCritical\qFatal)
- 重构qDebug()<<,使log输出到文件
- QT5 qDebug 输出到文件
- QT5 qDebug 输出到文件
- qDebug重定向
- printf重定向输出到文件
- vc6 printf重定向输出到文件
- 重定向输出以追加到文件
- 将make 输出重定向到文件
- 重定向子进程输出到文件
- (41)重定向到文件输出
- eclipse控制台输出重定向到文件
- Drozer输出重定向到文件
- Constituent Parsing & Dependency Parsing 句法分析简介
- 使用nginx与nginx-rtmp-module搭建 rtmp 流媒体服务器
- 1112. Stucked Keyboard (20)解题报告
- 46. Spring Boot中使用AOP统一处理Web请求日志【从零开始学Spring Boot】
- python3 中文乱码与默认编码格式设定
- Qt:重定向QDebug输出到文件,并附上日期
- Android带你解析ScrollView--仿QQ空间标题栏渐变
- Spring 框架参考文档(五)-The Web之同其他web框架集成
- 《启动大脑》读后感
- JAVASCRIPT面向对象(基础知识)第一章
- 1111. Online Map (30)解题报告
- struts拦截器解析
- codeforces-750【C思维】
- LCD编程实战1-LCD控制器初始化