Qt5生成log文件

在arm板上运行qt程序的时候,调试方法除了生成core文件,gdb和串口调试外还可以通过查看输出日志文件定位bug,这样省去了接串口和操作gdb的麻烦,如果代码中有充分的log输出,通过log信息定位bug是相对简单快速的方法,下面简单介绍qt如何生成log文件

  • 注册消息函数

    在main函数创建窗口之前注册消息函数:
    注册消息后,代码中的log信息(如qDebug(),qWarning()等)会输出到相应log文件
    例:

    qInstallMessageHandler(logMessage);
    
  • 消息函数体
    其中msgType为消息类型,其值可以为:QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtInfoMsg, QtSystemMsg其中之一,msgContext为消息附带信息,可以用于定位触发消息的位置,msgText为消息体,即具体的消息内容
    例:输出log文件mssageLog.txt

    void logMessage(QtMsgType msgType, const QMessageLogContext &msgContext, const QString &msgText)
    {
        static QMutex mutex;
        mutex.lock();
        //组建消息log
        QString res_msg = QString("%1 %2:%3 type %4: %5")\
                .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))\
                .arg((QString(msgContext.file).split("/")).last())\
                .arg(msgContext.line)\
                .arg(msgType)\
                .arg(msgText);
        QFile l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值