zoukankan      html  css  js  c++  java
  • 转 qInstallMsgHandler实现日志输出

    #include <QtDebug>
    #include <QFile>
    #include <QTextStream>
    
    #define _TIME_ qPrintable (QTime::currentTime ().toString ("hh:mm:ss:zzz"))
    
    void Log(QtMsgType type, const char* msg)
    {
        QString qstrText;
        switch (type)
        {
        case QtDebugMsg:
            qstrText = QString("%1: %2").arg(_TIME_, msg);
            break;
        case QtWarningMsg:
            qstrText = QString("%1: %2").arg(_TIME_, msg);
            break;
        case QtCriticalMsg:
            qstrText = QString("%1: %2").arg(_TIME_, msg);
            break;
        case QtFatalMsg:
            qstrText = QString("%1: %2").arg(_TIME_, msg);
            exit(0);
        }
        QFile out("log.txt");
        out.open(QIODevice::WriteOnly | QIODevice::Append);
        QTextStream ts(&out);
        ts<<qstrText<<endl;
    }
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        qInstallMsgHandler(Log);
    
        qDebug("this is a debug message");
        qWarning("this is a warning message");
        qCritical("this is a critical message");
        qFatal("this is a fatal message");
    
        return a.exec();
    }
  • 相关阅读:
    java8学习
    linux常用命令
    window操作系统分区
    java8特性
    mysql索引本质
    红黑树
    http请求传参问题解决
    老王说架构
    从URL到看到网页的过程
    RabbitMQ如何工作和RabbitMQ核心概念
  • 原文地址:https://www.cnblogs.com/xiangshancuizhu/p/3363018.html
Copyright © 2011-2022 走看看