介绍
Qt提供了一系列消息模板:qInfo、qDebug、qWarning、qCritical、qFatal,官方文档
qDebug可能比较常用,他们分别表示消息、调试信息、一般警告、严重错误、致命错误,默认情况会输出至调试窗口。而在release模式下可以将其输出重定向至文件,从而实现日志功能。
qInstallMessageHandler
使用此方法可以将上述五种消息重定向至指定函数,范例如下:
/**
* @brief CustomOutputMessage
* @param type 消息类型
* @param context 消息信息
* @param msg 消息内容
*/
void CustomOutputMessage(QtMsgType type,
const QMessageLogContext &context,
const QString &msg) {
QString message_type;
switch(type) {
case QtInfoMsg:
message_type = QString("Info:");
break;
case QtDebugMsg:
message_type = QString("Debug:");
break;
case QtWarningMsg:
message_type = QString("Warning:");
break;
case QtCriticalMsg:
message_type = QString("C

本文介绍了如何利用Qt的qInstallMessageHandler函数将调试消息重定向至文件,以实现日志功能。在release模式下,通过该方法将qInfo、qDebug等消息输出到文件。同时,文章讨论了如何取消重定向,qFatal的特殊处理方式,以及在遇到致命错误时程序的退出策略,强调了正确使用qFatal的重要性。
最低0.47元/天 解锁文章
2441

被折叠的 条评论
为什么被折叠?



