QT日志级别设置
开发版本代码包含了大量的qDebug,
发布版本可能导致未知异常。
QLoggingCategory::setFilterRules
用于设置日志过滤规则,从而控制日志的输出。
以下是一个完整的示例,展示如何通过设置日志过滤规则来禁用qDebug()
输出:
#include <QApplication>
#include <QLoggingCategory>
#include <QDebug>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 设置日志级别为 QtInfoMsg,禁用 qDebug() 输出
QLoggingCategory::setFilterRules("*.debug=false");
// 测试 qDebug() 输出
qDebug() << "This is a debug message"; // 这条消息不会显示
qInfo() << "This is an info message"; // 这条消息会显示
return app.exec();
}
-
QLoggingCategory::setFilterRules("*.debug=false");
设置了日志过滤规则,将所有调试级别的日志(*.debug
)设置为不输出(false
)。 -
这意味着所有通过
qDebug()
输出的消息都将被忽略,而不会显示在控制台中。
-
测试日志输出:
-
使用
qDebug()
输出一条调试信息,这条信息不会显示。 -
使用
qInfo()
输出一条信息级别的消息,这条信息会显示。
-