1. 日志打印函数
头文件: #include <QDebug>
代码:qDebug()<<"hello world!";
其他打印级别:
qInfo(): 普通信息
qDebug(): 调试信息
qWarning(): 警告信息
qCritical(): 严重错误
qFatal(): 致命错误
2. 不同级别日志打印控制
需要在 *.pro 项目文件里面进行设置
- 禁止debug级别日志输出:
需要在*.pro文件里面增加:
DEFINES += QT_NO_DEBUG_OUTPUT
3. 日志格式化
void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
QByteArray localMsg = msg.toLocal8Bit();
switch (type) {
case QtDebugMsg:
fprintf(stderr, "Debug: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
break;
case QtWarningMsg:
fprintf(stderr, "Warning: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
break;
case QtCriticalMsg:
fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
break;
case QtFatalMsg:
fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
abort();
}
}
int main(int argc, char **argv)
{
qInstallMessageHandler(myMessageOutput);
QApplication app(argc, argv);
...
return app.exec();
}
本文详细介绍了Qt的日志系统,包括不同级别的日志打印函数及其使用方法,如何通过项目配置控制不同级别的日志输出,以及如何自定义日志格式来增强日志的可读性和调试效率。
2145

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



