diff options
author | Kai Koehne <kai.koehne@theqtcompany.com> | 2014-12-04 16:57:32 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@theqtcompany.com> | 2015-01-09 13:14:05 +0100 |
commit | ef6279fd516befc09d4a6b3664a727a013b82c19 (patch) | |
tree | 4365a6dfb7c8d8e3094f35eb1ffe8fb8a23088cf /src/corelib/io/qloggingcategory.h | |
parent | 4c980aedc17c1da8f7160989fbb845ea72b36f44 (diff) |
Add QtInfoMsg
Add an 'info' message type that can be used for messages that are neither
warnings (QtWarningMsg), nor for debugging only (QtDebugMsg). This is
useful mainly for applications that do not have to adhere to the
'do not print anything by default' paradigm that we have for
the Qt libraries itself.
[ChangeLog][QtCore][Logging] QtInfoMsg got added as a new QtMsgType.
Use the new qInfo(), qCInfo() macros to log to it.
Change-Id: I810995d63de46c41a9a99a34d37c0d417fa87a05
Reviewed-by: Jason McDonald <macadder1@gmail.com>
Diffstat (limited to 'src/corelib/io/qloggingcategory.h')
-rw-r--r-- | src/corelib/io/qloggingcategory.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/corelib/io/qloggingcategory.h b/src/corelib/io/qloggingcategory.h index c7e242af08..d86f663913 100644 --- a/src/corelib/io/qloggingcategory.h +++ b/src/corelib/io/qloggingcategory.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -53,10 +53,12 @@ public: #ifdef Q_ATOMIC_INT8_IS_SUPPORTED bool isDebugEnabled() const { return bools.enabledDebug.load(); } + bool isInfoEnabled() const { return bools.enabledInfo.load(); } bool isWarningEnabled() const { return bools.enabledWarning.load(); } bool isCriticalEnabled() const { return bools.enabledCritical.load(); } #else bool isDebugEnabled() const { return enabled.load() >> DebugShift & 1; } + bool isInfoEnabled() const { return enabled.load() >> InfoShift & 1; } bool isWarningEnabled() const { return enabled.load() >> WarningShift & 1; } bool isCriticalEnabled() const { return enabled.load() >> CriticalShift & 1; } #endif @@ -80,9 +82,9 @@ private: const char *name; #ifdef Q_BIG_ENDIAN - enum { DebugShift = 0, WarningShift = 8, CriticalShift = 16 }; + enum { DebugShift = 0, WarningShift = 8, CriticalShift = 16, InfoShift = 24 }; #else - enum { DebugShift = 24, WarningShift = 16, CriticalShift = 8 }; + enum { DebugShift = 24, WarningShift = 16, CriticalShift = 8, InfoShift = 0}; #endif struct AtomicBools { @@ -90,6 +92,7 @@ private: QBasicAtomicInteger<bool> enabledDebug; QBasicAtomicInteger<bool> enabledWarning; QBasicAtomicInteger<bool> enabledCritical; + QBasicAtomicInteger<bool> enabledInfo; #endif }; union { @@ -114,6 +117,9 @@ private: #define qCDebug(category, ...) \ for (bool qt_category_enabled = category().isDebugEnabled(); qt_category_enabled; qt_category_enabled = false) \ QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).debug(__VA_ARGS__) +#define qCInfo(category, ...) \ + for (bool qt_category_enabled = category().isInfoEnabled(); qt_category_enabled; qt_category_enabled = false) \ + QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).info(__VA_ARGS__) #define qCWarning(category, ...) \ for (bool qt_category_enabled = category().isWarningEnabled(); qt_category_enabled; qt_category_enabled = false) \ QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).warning(__VA_ARGS__) @@ -133,6 +139,7 @@ private: // check for enabled category inside QMessageLogger. #define qCDebug qDebug +#define qCInfo qInfo #define qCWarning qWarning #define qCCritical qCritical @@ -142,6 +149,10 @@ private: # undef qCDebug # define qCDebug(category) QT_NO_QDEBUG_MACRO() #endif +#if defined(QT_NO_INFO_OUTPUT) +# undef qCInfo +# define qCInfo(category) QT_NO_QDEBUG_MACRO() +#endif #if defined(QT_NO_WARNING_OUTPUT) # undef qCWarning # define qCWarning(category) QT_NO_QWARNING_MACRO() |