4#ifndef QLOGGINGCATEGORY_H
5#define QLOGGINGCATEGORY_H
7#include <QtCore/qglobal.h>
8#include <QtCore/qdebug.h>
36 static CategoryFilter installFilter(CategoryFilter);
38 static void setFilterRules(
const QString &rules);
60template <QtMsgType Which>
struct QLoggingCategoryMacroHolder
62 static const bool IsOutputEnabled;
78 }
else if constexpr (Which ==
QtInfoMsg) {
91 explicit operator bool()
const {
return Q_UNLIKELY(control); }
94template <QtMsgType Which>
const bool QLoggingCategoryMacroHolder<Which>::IsOutputEnabled =
true;
95#if defined(QT_NO_DEBUG_OUTPUT)
96template <>
const bool QLoggingCategoryMacroHolder<QtDebugMsg>::IsOutputEnabled =
false;
98#if defined(QT_NO_INFO_OUTPUT)
99template <>
const bool QLoggingCategoryMacroHolder<QtInfoMsg>::IsOutputEnabled =
false;
101#if defined(QT_NO_WARNING_OUTPUT)
102template <>
const bool QLoggingCategoryMacroHolder<QtWarningMsg>::IsOutputEnabled =
false;
106#define Q_DECLARE_LOGGING_CATEGORY(name) \
107 const QLoggingCategory &name();
109#define Q_DECLARE_EXPORTED_LOGGING_CATEGORY(name, export_macro) \
110 export_macro Q_DECLARE_LOGGING_CATEGORY(name)
112#define Q_LOGGING_CATEGORY(name, ...) \
113 const QLoggingCategory &name() \
115 static const QLoggingCategory category(__VA_ARGS__); \
119#define QT_MESSAGE_LOGGER_COMMON(category, level) \
120 for (QLoggingCategoryMacroHolder<level> qt_category(category()); qt_category; qt_category.control = false) \
121 QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, qt_category.name())
123#define qCDebug(category, ...) QT_MESSAGE_LOGGER_COMMON(category, QtDebugMsg).debug(__VA_ARGS__)
124#define qCInfo(category, ...) QT_MESSAGE_LOGGER_COMMON(category, QtInfoMsg).info(__VA_ARGS__)
125#define qCWarning(category, ...) QT_MESSAGE_LOGGER_COMMON(category, QtWarningMsg).warning(__VA_ARGS__)
126#define qCCritical(category, ...) QT_MESSAGE_LOGGER_COMMON(category, QtCriticalMsg).critical(__VA_ARGS__)
127#define qCFatal(category, ...) QT_MESSAGE_LOGGER_COMMON(category, QtFatalMsg).fatal(__VA_ARGS__)
bool isInfoEnabled() const
Returns true if informational messages should be shown for this category; false otherwise.
QLoggingCategory & operator()()
Returns the object itself.
const QLoggingCategory & operator()() const
Returns the object itself.
bool isWarningEnabled() const
Returns true if warning messages should be shown for this category; false otherwise.
bool isCriticalEnabled() const
Returns true if critical messages should be shown for this category; false otherwise.
const char * categoryName() const
Returns the name of the category.
bool isDebugEnabled() const
Returns true if debug messages should be shown for this category; false otherwise.
\macro QT_RESTRICTED_CAST_FROM_ASCII
const QLoggingCategory & category()
[1]
Combined button and popup list for selecting options.
#define Q_DECL_UNUSED_MEMBER
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)