QMessageLogger类

QMessageLogger类生成日志消息。 更多...

标题 #include <QMessageLogger>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

公共类型

公共函数

QMessageLogger()
QMessageLogger(const char *file, int line, const char *function)
QMessageLogger(const char *file, int line, const char *function, const char *category)
voidcritical(const char *msg, ...) const
voidcritical(const QLoggingCategory &cat, const char *msg, ...) const
voidcritical(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
QDebugcritical() const
QDebugcritical(const QLoggingCategory &cat) const
QDebugcritical(QMessageLogger::CategoryFunction catFunc) const
voiddebug(const char *msg, ...) const
voiddebug(const QLoggingCategory &cat, const char *msg, ...) const
voiddebug(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
QDebugdebug() const
QDebugdebug(const QLoggingCategory &cat) const
QDebugdebug(QMessageLogger::CategoryFunction catFunc) const
voidfatal(const char *msg, ...) const
(since 6.5) voidfatal(const QLoggingCategory &cat, const char *msg, ...) const
(since 6.5) voidfatal(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
(since 6.5) QDebugfatal() const
(since 6.5) QDebugfatal(const QLoggingCategory &cat) const
(since 6.5) QDebugfatal(QMessageLogger::CategoryFunction catFunc) const
voidinfo(const char *msg, ...) const
voidinfo(const QLoggingCategory &cat, const char *msg, ...) const
voidinfo(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
QDebuginfo() const
QDebuginfo(const QLoggingCategory &cat) const
QDebuginfo(QMessageLogger::CategoryFunction catFunc) const
voidwarning(const char *msg, ...) const
voidwarning(const QLoggingCategory &cat, const char *msg, ...) const
voidwarning(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
QDebugwarning() const
QDebugwarning(const QLoggingCategory &cat) const
QDebugwarning(QMessageLogger::CategoryFunction catFunc) const

详细说明

QMessageLogger 用来为 Qt 日志框架生成消息。通常通过 qDebug()、qInfo()、qWarning()、qCriticalqFatal() 函数等方式使用,这些实际上是宏:例如 qDebug() 扩展为 QMessageLogger(__FILE__, __LINE__, Q_FUNC_INFO)。对于调试构建使用 debug(),对于发布构建使用 QMessageLogger(0, 0, 0)。debug()。

直接使用的一个例子是将脚本来源的错误(例如 QML)传递出去

    void statusChanged(QQmlComponent::Status status) {
        if (status == QQmlComponent::Error) {
            for (const QQmlError &error: std::as_const(component->errors())) {
                const QByteArray file = error.url().toEncoded();
                QMessageLogger(file.constData(), error.line(), 0).debug() << error.description();
            }
        }
    }

另请参阅QMessageLogContextqDebug()、qInfo()、qWarning()、qCriticalqFatal

成员类型文档

QMessageLogger::CategoryFunction

这是一个以下签名的函数指针的typedef

    const QLoggingCategory &category();

Q_DECLARE_LOGGING_CATEGORY 宏会生成具有此签名的函数声明,而 Q_LOGGING_CATEGORY 会生成其定义。

成员函数文档

[constexpr] QMessageLogger::QMessageLogger()

构建默认的 QMessageLogger。请参阅其他构造函数以指定上下文信息。

[constexpr] QMessageLogger::QMessageLogger(const char *file, int line, const char *function)

构建一个 QMessageLogger,用于在 file 中记录 linefunction 的日志消息。它等价于 QMessageLogger(file, line, function, "default")

[constexpr] QMessageLogger::QMessageLogger(const char *file, int line, const char *function, const char *category)

构建一个 QMessageLogger,用于在 function 中的 fileline 记录 category 消息。

void QMessageLogger::critical(const char *msg, ...) const

记录格式为 msg 的关键消息。可以根据 msg 使用其他参数。

另请参阅qCritical

void QMessageLogger::critical(const QLoggingCategory &cat, const char *msg, ...) const

为上下文 cat 记录格式为 msg 的关键消息。可以根据 msg 使用其他参数。

另请参阅qCCritical

void QMessageLogger::critical(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const

记录由 catFunc 返回的上下文指定的格式化 msg 的严重错误消息。可以按照 msg 使用额外参数。

另请参阅qCCritical

QDebug QMessageLogger::critical() const

使用QDebug流记录严重错误消息

另请参阅 qCritical() 和 QDebug

QDebug QMessageLogger::critical(const QLoggingCategory &cat) const

使用QDebug流记录分类 cat 中的严重错误消息。

另请参阅 qCCritical() 和 QDebug

QDebug QMessageLogger::critical(QMessageLogger::CategoryFunction catFunc) const

使用QDebug流记录 catFunc 返回的分类中的严重错误消息。

另请参阅 qCCritical() 和 QDebug

void QMessageLogger::debug(const char *msg, ...) const

记录指定格式的调试消息 msg。可以使用由 msg 指定的额外参数。

另请参阅 qDebug

void QMessageLogger::debug(const QLoggingCategory &cat, const char *msg, ...) const

记录指定格式的调试消息 msg,用于上下文 cat。可以使用由 msg 指定的额外参数。

另请参阅 qCDebug

void QMessageLogger::debug(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const

记录指定格式的调试消息 msg,用于 catFunc 返回的上下文。可以使用由 msg 指定的额外参数。

另请参阅 qCDebug

QDebug QMessageLogger::debug() const

使用QDebug流记录调试消息

另请参阅 qDebug() 和 QDebug

QDebug QMessageLogger::debug(const QLoggingCategory &cat) const

使用QDebug流记录分类 cat 中的调试消息。

另请参阅 qCDebug() 和 QDebug

QDebug QMessageLogger::debug(QMessageLogger::CategoryFunction catFunc) const

使用QDebug流记录 catFunc 返回的分类中的调试消息。

另请参阅 qCDebug() 和 QDebug

[noexcept] void QMessageLogger::致命(const char *msg, ...) const

记录与格式msg指定的致命消息。可以使用msg指定的其他参数。

另见qFatal()。

[noexcept, since 6.5] void QMessageLogger::致命(const QLoggingCategory &cat, const char *msg, ...) const

为上下文cat记录格式为msg的致命消息。可以使用msg指定的其他参数。

此函数从Qt 6.5版本开始引入。

另见qCFatal()。

[noexcept, since 6.5] void QMessageLogger::致命(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const

catFunc返回的上下文记录格式为msg的致命消息。可以使用msg指定的其他参数。

此函数从Qt 6.5版本开始引入。

另见qCFatal()。

[since 6.5] QDebug QMessageLogger::致命() const

使用QDebug流记录致命消息。

此函数从Qt 6.5版本开始引入。

另见qFatal()和QDebug

[since 6.5] QDebug QMessageLogger::致命(const QLoggingCategory &cat) const

使用QDebug流在类别cat中记录致命消息。

此函数从Qt 6.5版本开始引入。

另见qCFatal()和QDebug

[since 6.5] QDebug QMessageLogger::致命(QMessageLogger::CategoryFunction catFunc) const

使用QDebug流在catFunc返回的类别中记录致命消息。

此函数从Qt 6.5版本开始引入。

另见qCFatal()和QDebug

void QMessageLogger::info(const char *msg, ...) const

记录由格式msg指定的信息消息。可以使用msg指定的其他参数。

另见qInfo()。

void QMessageLogger::info(const QLoggingCategory &cat, const char *msg, ...) const

为上下文cat记录由格式msg指定的信息消息。可以使用msg指定的其他参数。

另见qCInfo()。

void QMessageLogger::info(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const

catFunc返回的上下文记录由格式msg指定的信息消息。可以使用msg指定的其他参数。

另见qCInfo()。

QDebug QMessageLogger::info() const

使用QDebug流记录一条信息性消息。

另请参阅qInfo() 和 QDebug

QDebug QMessageLogger::info(const QLoggingCategory &cat) const

使用QDebug流将信息性消息记录到类别cat

另请参阅qCInfo() 和 QDebug

QDebug QMessageLogger::info(QMessageLogger::CategoryFunction catFunc) const

使用QDebug流将信息性消息记录到由catFunc返回的类别。

另请参阅qCInfo() 和 QDebug

void QMessageLogger::warning(const char *msg, ...) const

使用指定的格式记录警告消息msg。可以额外使用msg中指定的参数。

另请参阅qWarning

void QMessageLogger::warning(const QLoggingCategory &">cat, const char *msg, ...) const

记录一个指定给cat上下文的警告消息msg。可以额外使用msg中指定的参数。

另请参阅qCWarning

void QMessageLogger::warning(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const

记录一个指定由catFunc返回的上下文的警告消息msg。可以额外使用msg中指定的参数。

另请参阅qCWarning

QDebug QMessageLogger::warning() const

使用QDebug流记录警告消息

另请参阅qWarning() 和 QDebug

QDebug QMessageLogger::warning(const QLoggingCategory &cat) const

使用QDebug流将警告消息记录到类别cat

另请参阅qCWarning() 和 QDebug

QDebug QMessageLogger::warning(QMessageLogger::CategoryFunction catFunc) const

使用QDebug流将警告消息记录到由catFunc返回的类别。

另请参阅qCWarning() 和 QDebug

© 2024 Qt公司有限公司。包含在此处的文档贡献的版权归其各自的版权所有者。本机构提供的文档是根据自由软件基金会发布的GNU自由文档许可协议版本1.3许可的。Qt及其相关徽标是芬兰和/或其他国家的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。