qDebug重定向输出文件

xiaoxiao2021-02-28  100

/** * @brief MyMessageHandler * @param type * @param context * @param msg */ void MyMessageHandler(QtMsgType type,const QMessageLogContext &context,const QString &msg) { static QMutex mutex; mutex.lock(); // QString strContext; // strContext.sprintf("%s %d %s:\r\n\t",context.file,context.line,context.function); // QString output = strContext + msg + "\r\n"; QString output = msg + "\r\n"; if(type == QtDebugMsg) { QFile file("debug_redirect.log"); file.open(QFile::WriteOnly | QFile::Append); file.write(output.toUtf8()); file.close(); } if(type == QtWarningMsg) { QFile file("warning_redirect.log"); file.open(QFile::WriteOnly|QFile::Append); file.write(output.toUtf8()); file.close(); } if(type == QtCriticalMsg) { QFile file("critical_redirect.log"); file.open(QFile::WriteOnly | QFile::Append); file.write(output.toUtf8()); file.close(); } if(type == QtFatalMsg) { QFile file("fatal_redirect.log"); file.open(QFile::WriteOnly | QFile::Append); file.write(output.toUtf8()); file.close(); } printf("%s",output.toUtf8().data()); mutex.unlock(); } int main(int argc, char **argv) { qInstallMessageHandler(MyMessageHandler); QApplication app(argc, argv); MainWindow win; win.init(); win.show(); return app.exec(); }
转载请注明原文地址: https://www.6miu.com/read-53861.html

最新回复(0)