diff options
author | Kai Köhne <kai.koehne@qt.io> | 2024-01-23 16:04:15 +0100 |
---|---|---|
committer | Kai Köhne <kai.koehne@qt.io> | 2024-02-20 09:10:07 +0100 |
commit | 0616741288f425e5dc58e13eb5f099e4e8ce3a49 (patch) | |
tree | 5eb08a966f21bfb78d7b24c3c55fd95f7a686f64 /src/corelib/io/qloggingregistry.cpp | |
parent | 32a1151245034e4d5d3162df21518e38b6f81fcd (diff) |
Be more verbose if QT_LOGGING_DEBUG is set
Pick-to: 6.7
Fixes: QTBUG-121380
Change-Id: Ieb977ada03aa0128cbaeee796f42508fd6db4031
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Diffstat (limited to 'src/corelib/io/qloggingregistry.cpp')
-rw-r--r-- | src/corelib/io/qloggingregistry.cpp | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp index 8c9216ff62..9ef5cbe376 100644 --- a/src/corelib/io/qloggingregistry.cpp +++ b/src/corelib/io/qloggingregistry.cpp @@ -244,20 +244,29 @@ QLoggingRegistry::QLoggingRegistry() static bool qtLoggingDebug() { - static const bool debugEnv = qEnvironmentVariableIsSet("QT_LOGGING_DEBUG"); + static const bool debugEnv = [] { + bool debug = qEnvironmentVariableIsSet("QT_LOGGING_DEBUG"); + if (debug) + debugMsg("QT_LOGGING_DEBUG environment variable is set."); + return debug; + }(); return debugEnv; } static QList<QLoggingRule> loadRulesFromFile(const QString &filePath) { + if (qtLoggingDebug()) { + debugMsg("Checking \"%s\" for rules", + QDir::toNativeSeparators(filePath).toUtf8().constData()); + } + QFile file(filePath); if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { - if (qtLoggingDebug()) - debugMsg("Loading \"%s\" ...", - QDir::toNativeSeparators(file.fileName()).toUtf8().constData()); QTextStream stream(&file); QLoggingSettingsParser parser; parser.setContent(stream); + if (qtLoggingDebug()) + debugMsg("Loaded %td rules", static_cast<ptrdiff_t>(parser.rules().size())); return parser.rules(); } return QList<QLoggingRule>(); @@ -270,19 +279,30 @@ static QList<QLoggingRule> loadRulesFromFile(const QString &filePath) */ void QLoggingRegistry::initializeRules() { + if (qtLoggingDebug()) { + debugMsg("Initializing the rules database ..."); + debugMsg("Checking %s environment variable", "QTLOGGING_CONF"); + } QList<QLoggingRule> er, qr, cr; // get rules from environment const QByteArray rulesFilePath = qgetenv("QT_LOGGING_CONF"); if (!rulesFilePath.isEmpty()) er = loadRulesFromFile(QFile::decodeName(rulesFilePath)); + if (qtLoggingDebug()) + debugMsg("Checking %s environment variable", "QT_LOGGING_RULES"); + const QByteArray rulesSrc = qgetenv("QT_LOGGING_RULES").replace(';', '\n'); if (!rulesSrc.isEmpty()) { - QTextStream stream(rulesSrc); - QLoggingSettingsParser parser; - parser.setImplicitRulesSection(true); - parser.setContent(stream); - er += parser.rules(); + QTextStream stream(rulesSrc); + QLoggingSettingsParser parser; + parser.setImplicitRulesSection(true); + parser.setContent(stream); + + if (qtLoggingDebug()) + debugMsg("Loaded %td rules", static_cast<ptrdiff_t>(parser.rules().size())); + + er += parser.rules(); } const QString configFileName = QStringLiteral("qtlogging.ini"); |