QMessageLogger Class | Qt Core 6.4.3

- Qt 6.4
- Qt Core
- C++ Classes
- QMessageLogger
- Qt 6.4.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
Since: | Qt 5.0

- List of all members, including inherited members

## Public Types

| CategoryFunction

## Public Functions

| QMessageLogger(const char *file, int line, const char *function, const char *category)
| QMessageLogger(const char *file, int line, const char *function)
| QMessageLogger()
void | critical(const char *msg, ...) const
void | critical(const QLoggingCategory &cat, const char *msg, ...) const
void | critical(CategoryFunction catFunc, const char *msg, ...) const
QDebug | critical() const
QDebug | critical(const QLoggingCategory &cat) const
QDebug | critical(CategoryFunction catFunc) const
void | debug(const char *msg, ...) const
void | debug(const QLoggingCategory &cat, const char *msg, ...) const
void | debug(CategoryFunction catFunc, const char *msg, ...) const
QDebug | debug() const
QDebug | debug(const QLoggingCategory &cat) const
QDebug | debug(CategoryFunction catFunc) const
void | fatal(const char *msg, ...) const
void | info(const char *msg, ...) const
void | info(const QLoggingCategory &cat, const char *msg, ...) const
void | info(CategoryFunction catFunc, const char *msg, ...) const
QDebug | info() const
QDebug | info(const QLoggingCategory &cat) const
QDebug | info(CategoryFunction catFunc) const
void | warning(const char *msg, ...) const
void | warning(const QLoggingCategory &cat, const char *msg, ...) const
void | warning(CategoryFunction catFunc, const char *msg, ...) const
QDebug | warning() const
QDebug | warning(const QLoggingCategory &cat) const
QDebug | warning(CategoryFunction catFunc) 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(QDeclarativeComponent::Status status) {
             if (status == QDeclarativeComponent::Error) {
                 foreach (const QDeclarativeError &error, 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

### `[since 5.3]` 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.

This typedef was introduced in Qt 5.3.

## Member Function Documentation

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

### 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")

### QMessageLogger::QMessageLogger()

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

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

### `[since 5.3]` 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.

This function was introduced in Qt 5.3.

See also qCCritical().

### `[since 5.3]` void QMessageLogger::critical(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.

This function was introduced in Qt 5.3.

See also qCCritical().

### QDebug QMessageLogger::critical() const

Logs a critical message using a QDebug stream

See also qCritical() and QDebug.

### `[since 5.3]` QDebug QMessageLogger::critical(const QLoggingCategory &cat) const

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

This function was introduced in Qt 5.3.

See also qCCritical() and QDebug.

### `[since 5.3]` QDebug QMessageLogger::critical(CategoryFunction catFunc) const

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

This function was introduced in Qt 5.3.

See also qCCritical() 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().

### `[since 5.3]` 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.

This function was introduced in Qt 5.3.

See also qCDebug().

### `[since 5.3]` void QMessageLogger::debug(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.

This function was introduced in Qt 5.3.

See also qCDebug().

### QDebug QMessageLogger::debug() const

Logs a debug message using a QDebug stream

See also qDebug() and QDebug.

### `[since 5.3]` QDebug QMessageLogger::debug(const QLoggingCategory &cat) const

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

This function was introduced in Qt 5.3.

See also qCDebug() and QDebug.

### `[since 5.3]` QDebug QMessageLogger::debug(CategoryFunction catFunc) const

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

This function was introduced in Qt 5.3.

See also qCDebug() and QDebug.

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

### `[since 5.5]` void QMessageLogger::info(const char *msg, ...) const

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

This function was introduced in Qt 5.5.

See also qInfo().

### `[since 5.5]` 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.

This function was introduced in Qt 5.5.

See also qCInfo().

### `[since 5.5]` void QMessageLogger::info(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.

This function was introduced in Qt 5.5.

See also qCInfo().

### `[since 5.5]` QDebug QMessageLogger::info() const

Logs an informational message using a QDebug stream.

This function was introduced in Qt 5.5.

See also qInfo() and QDebug.

### `[since 5.5]` QDebug QMessageLogger::info(const QLoggingCategory &cat) const

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

This function was introduced in Qt 5.5.

See also qCInfo() and QDebug.

### `[since 5.5]` QDebug QMessageLogger::info(CategoryFunction catFunc) const

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

This function was introduced in Qt 5.5.

See also qCInfo() 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().

### `[since 5.3]` 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.

This function was introduced in Qt 5.3.

See also qCWarning().

### `[since 5.3]` void QMessageLogger::warning(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.

This function was introduced in Qt 5.3.

See also qCWarning().

### QDebug QMessageLogger::warning() const

Logs a warning message using a QDebug stream

See also qWarning() 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.

### `[since 5.3]` QDebug QMessageLogger::warning(CategoryFunction catFunc) const

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

This function was introduced in Qt 5.3.

See also qCWarning() and QDebug.