qDebug重定向输出文件


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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值