Qt:重定向QDebug输出到文件,并附上日期
来源:互联网 发布:golang for 编辑:程序博客网 时间:2024/06/05 17:24
http://blog.csdn.net/wsj18808050/article/details/53954537
介绍
代码比较简单,就是一个函数,在main中调用即可
函数申明
void setDebugOutput(const QString &targetFilePath, const bool &argDateFlag = false);
- 1
函数实现
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 );}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
注意:记得include需要的头文件
函数使用
- 不动态追加日期
setDebugOutput( "/Users/jason/desktop/log/all.log" );
- 1
- 动态追加日期
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输出重定向到文件
- Java线程
- Django配置静态资源
- 深度学习开始
- Tomcat下找不到properties文件
- PAT B1032:挖掘机技术哪家强
- Qt:重定向QDebug输出到文件,并附上日期
- 关于webpack,babel,以及es6和commonJS之间的联系
- Java工程的静态资源不能显示的问题
- Apache Commons 工具包
- 理解Android Architecture Components系列(一)
- 常用 Git 命令清单
- 树莓派安装habridge, 接入京东叮咚top遇到的坑
- tensorflow TypeError: run() got multiple values for argument 'feed_dict'
- Spring Cloud Eureka服务注册与发现