- Qt 6.8
- Qt Core
- C++ Classes
- QMessageLogger
- Qt 6.8.3 Reference Documentation

# 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`

- List of all members, including inherited members

## Public Types

| CategoryFunction

## 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().