summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qloggingregistry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/io/qloggingregistry.cpp')
-rw-r--r--src/corelib/io/qloggingregistry.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp
index 6e195d29cb..23f1ffbd16 100644
--- a/src/corelib/io/qloggingregistry.cpp
+++ b/src/corelib/io/qloggingregistry.cpp
@@ -248,7 +248,7 @@ static bool qtLoggingDebug()
/*!
\internal
Initializes the rules database by loading
- .config/QtProject/qtlogging.ini and $QT_LOGGING_CONF.
+ $QT_LOGGING_CONF, $QT_LOGGING_RULES, and .config/QtProject/qtlogging.ini.
*/
void QLoggingRegistry::init()
{
@@ -266,6 +266,14 @@ void QLoggingRegistry::init()
envRules = parser.rules();
}
}
+ const QByteArray rulesSrc = qgetenv("QT_LOGGING_RULES");
+ if (!rulesSrc.isEmpty()) {
+ QTextStream stream(rulesSrc);
+ QLoggingSettingsParser parser;
+ parser.setSection(QStringLiteral("Rules"));
+ parser.setContent(stream);
+ envRules += parser.rules();
+ }
// get rules from qt configuration
QString envPath = QStandardPaths::locate(QStandardPaths::GenericConfigLocation,