path: root/src/corelib/global/qglobal.cpp
diff options
authorKai Koehne <>2012-04-13 13:37:56 +0200
committerQt by Nokia <>2012-04-24 17:12:46 +0200
commitc0d249019b098890fb8e5e9e144c2dd8029a670c (patch)
treec65c071920b8e8ebb3b1ad65ae1f5df7851ddcf3 /src/corelib/global/qglobal.cpp
parente92e5fda44602d7595aca329a3133ecb9991a6dd (diff)
Allow qDebug output to be configured by qSetMessagePattern()
Add qSetMessagePattern() to configure the default message pattern. This one can still be overwritten by setting the QT_MESSAGE_PATTERN environment variable. Without this method, there's actually no way to change the default output programatically. Since QT_MESSAGE_PATTERN is evaluated when the first message arrives, setting it via e.g. qputenv might have no effect/be too late. Change-Id: I115e0c30606f128fdbf5c169a951ffa2a6a48517 Reviewed-by: Thiago Macieira <>
Diffstat (limited to 'src/corelib/global/qglobal.cpp')
1 files changed, 33 insertions, 0 deletions
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 7036b72f08..38ddd7bf97 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -3088,5 +3088,38 @@ bool QInternal::activateCallbacks(Callback cb, void **parameters)
\sa QtMsgHandler, qInstallMessageHandler
+ \fn void qSetMessagePattern(const QString &pattern)
+ \relates <QtGlobal>
+ \since 5.0
+ \brief Changes the output of the default message handler.
+ Allows to tweak the output of qDebug(), qWarning(), qCritical() and qFatal().
+ Following placeholders are supported:
+ \table
+ \header \li Placeholder \li Description
+ \row \li \c %{appname} \li QCoreApplication::applicationName()
+ \row \li \c %{file} \li Path to source file
+ \row \li \c %{function} \li Function
+ \row \li \c %{line} \li Line in source file
+ \row \li \c %{message} \li The actual message
+ \row \li \c %{pid} \li QCoreApplication::applicationPid()
+ \row \li \c %{threadid} \li ID of current thread
+ \row \li \c %{type} \li "debug", "warning", "critical" or "fatal"
+ \endtable
+ The default pattern is "%{message}".
+ The pattern can also be changed at runtime by setting the QT_MESSAGE_PATTERN
+ environment variable; if both qSetMessagePattern() is called and QT_MESSAGE_PATTERN is
+ set, the environment variable takes precedence.
+ qSetMessagePattern() has no effect if a custom message handler is installed.
+ \sa qInstallMessageHandler, Debugging Techniques
+ */