qDebug重定向

来源:互联网 发布:php软件的背景怎么改 编辑:程序博客网 时间:2024/06/16 04:38

/**
* @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();
}

原创粉丝点击