QMessageLogger Class

The QMessageLogger class generates log messages. More...

Header: #include <QMessageLogger>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Public Types

Public Functions

QMessageLogger()
QMessageLogger(const char *file, int line, const char *function)
QMessageLogger(const char *file, int line, const char *function, const char *category)
QDebug critical() const
QDebug critical(QMessageLogger::CategoryFunction catFunc) const
QDebug critical(const QLoggingCategory &cat) const
void critical(const char *msg, ...) const
void critical(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
void critical(const QLoggingCategory &cat, const char *msg, ...) const
QDebug debug() const
QDebug debug(QMessageLogger::CategoryFunction catFunc) const
QDebug debug(const QLoggingCategory &cat) const
void debug(const char *msg, ...) const
void debug(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
void debug(const QLoggingCategory &cat, const char *msg, ...) const
(since 6.5) QDebug fatal() const
(since 6.5) QDebug fatal(QMessageLogger::CategoryFunction catFunc) const
(since 6.5) QDebug fatal(const QLoggingCategory &cat) const
void fatal(const char *msg, ...) const
(since 6.5) void fatal(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
(since 6.5) void fatal(const QLoggingCategory &cat, const char *msg, ...) const
QDebug info() const
QDebug info(QMessageLogger::CategoryFunction catFunc) const
QDebug info(const QLoggingCategory &cat) const
void info(const char *msg, ...) const
void info(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
void info(const QLoggingCategory &cat, const char *msg, ...) const
QDebug warning() const
QDebug warning(QMessageLogger::CategoryFunction catFunc) const
QDebug warning(const QLoggingCategory &cat) const
void warning(const char *msg, ...) const
void warning(QMessageLogger::CategoryFunction catFunc, const char *msg, ...) const
void warning(const QLoggingCategory &cat, const char *msg, ...) const

Detailed Description

QMessageLogger is used to generate messages for the Qt logging framework. Usually one uses it through qDebug(), qInfo(), qWarning(), qCritical, or qFatal() functions, which are actually macros: For example qDebug() expands to QMessageLogger(__FILE__, __LINE__, Q_FUNC_INFO).debug() for debug builds, and QMessageLogger(0, 0, 0).debug() for release builds.

One example of direct use is to forward errors that stem from a scripting language, e.g. 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();
             }
         }
     }

See also QMessageLogContext, qDebug(), qInfo(), qWarning(), qCritical(), and qFatal().

Member Type Documentation

QMessageLogger::CategoryFunction

This is a typedef for a pointer to a function with the following signature:

     const QLoggingCategory &category();

The Q_DECLARE_LOGGING_CATEGORY macro generates a function declaration with this signature, and Q_LOGGING_CATEGORY generates its definition.

See also QLoggingCategory.

Member Function Documentation

[constexpr] QMessageLogger::QMessageLogger()

Constructs a default QMessageLogger. See the other constructors to specify context information.

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

Constructs a QMessageLogger to record log messages for file at line in function. The is equivalent to QMessageLogger(file, line, function, "default")

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

Constructs a QMessageLogger to record category messages for file at line in function.

See also QLoggingCategory.

QDebug QMessageLogger::critical() const

Logs a critical message using a QDebug stream

See also qCritical() and QDebug.

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

Logs a critical message into category returned by catFunc using a QDebug stream.

See also qCCritical() and QDebug.

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

Logs a critical message into category cat using a QDebug stream.

See also qCCritical() and QDebug.

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

Logs a critical message specified with format msg. Additional parameters, specified by msg, may be used.

See also qCritical().

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

Logs a critical message specified with format msg for the context returned by catFunc. Additional parameters, specified by msg, may be used.

See also qCCritical().

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

Logs a critical message specified with format msg for the context cat. Additional parameters, specified by msg, may be used.

See also qCCritical().

QDebug QMessageLogger::debug() const

Logs a debug message using a QDebug stream

See also qDebug() and QDebug.

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

Logs a debug message into category returned by catFunc using a QDebug stream.

See also qCDebug() and QDebug.

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

Logs a debug message into category cat using a QDebug stream.

See also qCDebug() and QDebug.

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

Logs a debug message specified with format msg. Additional parameters, specified by msg, may be used.

See also qDebug().

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

Logs a debug message specified with format msg for the context returned by catFunc. Additional parameters, specified by msg, may be used.

See also qCDebug().

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

Logs a debug message specified with format msg for the context cat. Additional parameters, specified by msg, may be used.

See also qCDebug().

[since 6.5] QDebug QMessageLogger::fatal() const

Logs a fatal message using a QDebug stream.

This function was introduced in Qt 6.5.

See also qFatal() and QDebug.

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

Logs a fatal message into category returned by catFunc using a QDebug stream.

This function was introduced in Qt 6.5.

See also qCFatal() and QDebug.

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

Logs a fatal message into category cat using a QDebug stream.

This function was introduced in Qt 6.5.

See also qCFatal() and QDebug.

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

Logs a fatal message specified with format msg. Additional parameters, specified by msg, may be used.

See also qFatal().

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

Logs a fatal message specified with format msg for the context returned by catFunc. Additional parameters, specified by msg, may be used.

This function was introduced in Qt 6.5.

See also qCFatal().

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

Logs a fatal message specified with format msg for the context cat. Additional parameters, specified by msg, may be used.

This function was introduced in Qt 6.5.

See also qCFatal().

QDebug QMessageLogger::info() const

Logs an informational message using a QDebug stream.

See also qInfo() and QDebug.

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

Logs an informational message into category returned by catFunc using a QDebug stream.

See also qCInfo() and QDebug.

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

Logs an informational message into the category cat using a QDebug stream.

See also qCInfo() and QDebug.

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

Logs an informational message specified with format msg. Additional parameters, specified by msg, may be used.

See also qInfo().

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

Logs an informational message specified with format msg for the context returned by catFunc. Additional parameters, specified by msg, may be used.

See also qCInfo().

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

Logs an informational message specified with format msg for the context cat. Additional parameters, specified by msg, may be used.

See also qCInfo().

QDebug QMessageLogger::warning() const

Logs a warning message using a QDebug stream

See also qWarning() and QDebug.

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

Logs a warning message into category returned by catFunc using a QDebug stream.

See also qCWarning() and QDebug.

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

Logs a warning message into category cat using a QDebug stream.

See also qCWarning() and QDebug.

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

Logs a warning message specified with format msg. Additional parameters, specified by msg, may be used.

See also qWarning().

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

Logs a warning message specified with format msg for the context returned by catFunc. Additional parameters, specified by msg, may be used.

See also qCWarning().

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

Logs a warning message specified with format msg for the context cat. Additional parameters, specified by msg, may be used.

See also qCWarning().