/**
* @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();
}
qDebug重定向输出文件
最新推荐文章于 2024-05-03 14:04:14 发布