summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qlogging.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/global/qlogging.cpp')
-rw-r--r--src/corelib/global/qlogging.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp
index fe19ae631e..afefb11aa1 100644
--- a/src/corelib/global/qlogging.cpp
+++ b/src/corelib/global/qlogging.cpp
@@ -147,9 +147,7 @@ QDebug QMessageLogger::debug()
{
QDebug dbg = QDebug(QtDebugMsg);
QMessageLogContext &ctxt = dbg.stream->context;
- ctxt.file = context.file;
- ctxt.line = context.line;
- ctxt.function = context.function;
+ ctxt.copy(context);
return dbg;
}
@@ -174,9 +172,7 @@ QDebug QMessageLogger::warning()
{
QDebug dbg = QDebug(QtWarningMsg);
QMessageLogContext &ctxt = dbg.stream->context;
- ctxt.file = context.file;
- ctxt.line = context.line;
- ctxt.function = context.function;
+ ctxt.copy(context);
return dbg;
}
#endif
@@ -196,9 +192,7 @@ QDebug QMessageLogger::critical()
{
QDebug dbg = QDebug(QtCriticalMsg);
QMessageLogContext &ctxt = dbg.stream->context;
- ctxt.file = context.file;
- ctxt.line = context.line;
- ctxt.function = context.function;
+ ctxt.copy(context);
return dbg;
}
#endif
@@ -369,6 +363,7 @@ Q_AUTOTEST_EXPORT QByteArray qCleanupFuncinfo(QByteArray info)
}
// tokens as recognized in QT_MESSAGE_PATTERN
+static const char categoryTokenC[] = "%{category}";
static const char typeTokenC[] = "%{type}";
static const char messageTokenC[] = "%{message}";
static const char fileTokenC[] = "%{file}";
@@ -438,7 +433,9 @@ QMessagePattern::QMessagePattern()
// placeholder
if (lexeme == QLatin1String(typeTokenC)) {
tokens[i] = typeTokenC;
- } else if (lexeme == QLatin1String(messageTokenC))
+ } else if (lexeme == QLatin1String(categoryTokenC))
+ tokens[i] = categoryTokenC;
+ else if (lexeme == QLatin1String(messageTokenC))
tokens[i] = messageTokenC;
else if (lexeme == QLatin1String(fileTokenC))
tokens[i] = fileTokenC;
@@ -505,6 +502,8 @@ Q_CORE_EXPORT QByteArray qMessageFormatString(QtMsgType type, const QMessageLogC
const char *token = pattern->tokens[i];
if (token == messageTokenC) {
message.append(str);
+ } else if (token == categoryTokenC) {
+ message.append(context.category);
} else if (token == typeTokenC) {
switch (type) {
case QtDebugMsg: message.append("debug"); break;
@@ -681,4 +680,11 @@ QtMsgHandler qInstallMsgHandler(QtMsgHandler h)
return old;
}
+void QMessageLogContext::copy(const QMessageLogContext &logContext)
+{
+ this->category = logContext.category;
+ this->file = logContext.file;
+ this->line = logContext.line;
+ this->function = logContext.function;
+}
QT_END_NAMESPACE