diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2014-08-08 13:08:20 -0300 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2014-09-23 17:44:29 +0200 |
commit | 85ad88b06485451b018cef2a5bddae4410d91a35 (patch) | |
tree | 0691de13b62c045bfa7ade9b05fb5aecd2764aa3 /src/corelib | |
parent | d2349d8983a2942ea6ef8f481902b248debc7b3a (diff) |
Unify the environment variables used for console logging
[ChangeLog][Important behavior changes][Logging (including qDebug and
qWarning)] Support for the deprecated environment variables
QT_NO_JOURNALD_LOG and QT_ANDROID_PLAIN_LOG has been removed. Instead,
set QT_LOGGING_TO_CONSOLE to 1 to force logging to the console (stderr).
Set that variable to 0 to force logging to the system-specific event log
(if any).
Change-Id: I4800fc061752421f67aba1bf4535d524607579d5
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/global/qlogging.cpp | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp index 465e2a4b45..904f8db033 100644 --- a/src/corelib/global/qlogging.cpp +++ b/src/corelib/global/qlogging.cpp @@ -1275,23 +1275,6 @@ static void android_default_message_handler(QtMsgType type, static void qDefaultMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &buf) { - // to determine logging destination and marking logging environment variable as deprecated - // ### remove when deprecated - struct LogDestination { - LogDestination(const char *deprecated, bool forceConsole) { - const char* replacement = "QT_LOGGING_TO_CONSOLE"; - bool newEnv = qEnvironmentVariableIsSet(replacement); - bool oldEnv = qEnvironmentVariableIsSet(deprecated); - if (oldEnv && !newEnv && !forceConsole) { - fprintf(stderr, "Warning: Environment variable %s is deprecated, " - "use %s instead.\n", deprecated, replacement); - fflush(stderr); - } - toConsole = newEnv || oldEnv || forceConsole; - } - bool toConsole; - }; - QString logMessage = qFormatLogMessage(type, context, buf); #if defined(Q_OS_WIN) && defined(QT_BUILD_CORE_LIB) @@ -1301,8 +1284,8 @@ static void qDefaultMessageHandler(QtMsgType type, const QMessageLogContext &con } #endif // Q_OS_WIN -#if defined(QT_USE_SLOG2) static const bool logToConsole = qEnvironmentVariableIsSet("QT_LOGGING_TO_CONSOLE"); +#if defined(QT_USE_SLOG2) if (!logToConsole) { slog2_default_handler(type, logMessage.toLocal8Bit().constData()); } else { @@ -1310,11 +1293,9 @@ static void qDefaultMessageHandler(QtMsgType type, const QMessageLogContext &con fflush(stderr); } #elif defined(QT_USE_JOURNALD) && !defined(QT_BOOTSTRAPPED) - // We use isatty to catch the obvious case of someone running something interactively. - // We also support environment variables for Qt Creator use, or more complicated cases + // We support environment variables for Qt Creator use, or more complicated cases // like subprocesses. - static const LogDestination logdest("QT_NO_JOURNALD_LOG", isatty(fileno(stdin))); - if (Q_LIKELY(!logdest.toConsole)) { + if (!logToConsole) { // remove trailing \n, systemd appears to want them newline-less logMessage.chop(1); systemd_default_message_handler(type, context, logMessage); @@ -1323,8 +1304,7 @@ static void qDefaultMessageHandler(QtMsgType type, const QMessageLogContext &con fflush(stderr); } #elif defined(Q_OS_ANDROID) - static const LogDestination logdest("QT_ANDROID_PLAIN_LOG", false); - if (!logdest.toConsole) { + if (!logToConsole) { android_default_message_handler(type, context, logMessage); } else { fprintf(stderr, "%s", logMessage.toLocal8Bit().constData()); @@ -1334,6 +1314,7 @@ static void qDefaultMessageHandler(QtMsgType type, const QMessageLogContext &con fprintf(stderr, "%s", logMessage.toLocal8Bit().constData()); fflush(stderr); #endif + Q_UNUSED(logToConsole); } /*! |