[GTK][WPE] Release logs are unconditionally filling the journal
authorphiln@webkit.org <philn@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Apr 2020 08:40:19 +0000 (08:40 +0000)
committerphiln@webkit.org <philn@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Apr 2020 08:40:19 +0000 (08:40 +0000)
https://bugs.webkit.org/show_bug.cgi?id=209421

Reviewed by Carlos Alberto Lopez Perez.

.:

Re-enable Systemd logging and make it opt-in via the WEBKIT_DEBUG environment variable.

* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsWPE.cmake:

Source/WebCore:

* platform/unix/LoggingUnix.cpp:
(WebCore::logLevelString): Disable all logging when the
WEBKIT_DEBUG environment variable is empty.

Source/WTF:

* wtf/Assertions.h: Don't send logs to systemd for disabled log channels.
* wtf/Logger.h:
(WTF::Logger::willLog const): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259707 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
Source/WTF/ChangeLog
Source/WTF/wtf/Assertions.h
Source/WTF/wtf/Logger.h
Source/WebCore/ChangeLog
Source/WebCore/platform/unix/LoggingUnix.cpp
Source/cmake/OptionsGTK.cmake
Source/cmake/OptionsWPE.cmake

index 9d94bd8..1593838 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2020-04-08  Philippe Normand  <pnormand@igalia.com>
+
+        [GTK][WPE] Release logs are unconditionally filling the journal
+        https://bugs.webkit.org/show_bug.cgi?id=209421
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        Re-enable Systemd logging and make it opt-in via the WEBKIT_DEBUG environment variable.
+
+        * Source/cmake/OptionsGTK.cmake:
+        * Source/cmake/OptionsWPE.cmake:
+
 2020-04-07  Adrian Perez de Castro  <aperez@igalia.com>
 
         [GTK] CMake find module for GTK4
index 38c93ca..2d175bb 100644 (file)
@@ -1,3 +1,14 @@
+2020-04-08  Philippe Normand  <pnormand@igalia.com>
+
+        [GTK][WPE] Release logs are unconditionally filling the journal
+        https://bugs.webkit.org/show_bug.cgi?id=209421
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        * wtf/Assertions.h: Don't send logs to systemd for disabled log channels.
+        * wtf/Logger.h:
+        (WTF::Logger::willLog const): Ditto.
+
 2020-04-07  Chris Dumez  <cdumez@apple.com>
 
         Merge DependencyAssertion into ProcessAssertion
index 4420b20..395fd93 100644 (file)
@@ -541,7 +541,10 @@ constexpr bool assertionFailureDueToUnreachableCode = false;
 
 #if USE(JOURNALD) && !RELEASE_LOG_DISABLED
 #define PUBLIC_LOG_STRING "s"
-#define SD_JOURNAL_SEND(channel, priority, file, line, function, ...) sd_journal_send_with_location("CODE_FILE=" file, "CODE_LINE=" line, function, "WEBKIT_SUBSYSTEM=%s", LOG_CHANNEL(channel).subsystem, "WEBKIT_CHANNEL=%s", LOG_CHANNEL(channel).name, "PRIORITY=%i", priority, "MESSAGE=" __VA_ARGS__, nullptr)
+#define SD_JOURNAL_SEND(channel, priority, file, line, function, ...) do { \
+    if (LOG_CHANNEL(channel).state != WTFLogChannelState::Off) \
+        sd_journal_send_with_location("CODE_FILE=" file, "CODE_LINE=" line, function, "WEBKIT_SUBSYSTEM=%s", LOG_CHANNEL(channel).subsystem, "WEBKIT_CHANNEL=%s", LOG_CHANNEL(channel).name, "PRIORITY=%i", priority, "MESSAGE=" __VA_ARGS__, nullptr); \
+} while (0)
 
 #define _XSTRINGIFY(line) #line
 #define _STRINGIFY(line) _XSTRINGIFY(line)
index 4eb2aa8..360baf5 100644 (file)
@@ -238,6 +238,11 @@ public:
         if (!m_enabled)
             return false;
 
+#if USE(SYSTEMD)
+        if (channel.state == WTFLogChannelState::Off)
+            return false;
+#endif
+
         if (level <= WTFLogLevel::Error)
             return true;
 
index fe2f656..f8f879d 100644 (file)
@@ -1,3 +1,14 @@
+2020-04-08  Philippe Normand  <pnormand@igalia.com>
+
+        [GTK][WPE] Release logs are unconditionally filling the journal
+        https://bugs.webkit.org/show_bug.cgi?id=209421
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        * platform/unix/LoggingUnix.cpp:
+        (WebCore::logLevelString): Disable all logging when the
+        WEBKIT_DEBUG environment variable is empty.
+
 2020-04-07  Antoine Quint  <graouts@apple.com>
 
         [iPadOS] Unable to toggle subpages on sites.google.com
index 9a79b4e..968a216 100644 (file)
@@ -32,8 +32,10 @@ namespace WebCore {
 String logLevelString()
 {
     char* logEnv = getenv("WEBKIT_DEBUG");
+
+    // Disable all log channels if WEBKIT_DEBUG is unset.
     if (!logEnv)
-        return emptyString();
+        return makeString("-all"_s);
 
     // We set up the logs anyway because some of our logging, such as Soup's is available in release builds.
 #if defined(NDEBUG) && RELEASE_LOG_DISABLED
index 08ed2f8..6ff8c39 100644 (file)
@@ -91,7 +91,7 @@ WEBKIT_OPTION_DEFINE(USE_LIBSECRET "Whether to enable the persistent credential
 WEBKIT_OPTION_DEFINE(USE_OPENJPEG "Whether to enable support for JPEG2000 images." PUBLIC ON)
 WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON)
 WEBKIT_OPTION_DEFINE(USE_WPE_RENDERER "Whether to enable WPE rendering" PUBLIC ON)
-WEBKIT_OPTION_DEFINE(USE_SYSTEMD "Whether to enable journald logging" PUBLIC OFF)
+WEBKIT_OPTION_DEFINE(USE_SYSTEMD "Whether to enable journald logging" PUBLIC ON)
 
 # Private options specific to the GTK port. Changing these options is
 # completely unsupported. They are intended for use only by WebKit developers.
index 4192965..e7ce799 100644 (file)
@@ -79,7 +79,7 @@ WEBKIT_OPTION_DEFINE(ENABLE_GTKDOC "Whether or not to use generate gtkdoc." PUBL
 WEBKIT_OPTION_DEFINE(USE_OPENJPEG "Whether to enable support for JPEG2000 images." PUBLIC ON)
 WEBKIT_OPTION_DEFINE(USE_WOFF2 "Whether to enable support for WOFF2 Web Fonts." PUBLIC ON)
 WEBKIT_OPTION_DEFINE(ENABLE_WPE_QT_API "Whether to enable support for the Qt5/QML plugin" PUBLIC OFF)
-WEBKIT_OPTION_DEFINE(USE_SYSTEMD "Whether to enable journald logging" PUBLIC OFF)
+WEBKIT_OPTION_DEFINE(USE_SYSTEMD "Whether to enable journald logging" PUBLIC ON)
 
 # Private options specific to the WPE port.
 WEBKIT_OPTION_DEFINE(USE_GSTREAMER_HOLEPUNCH "Whether to enable GStreamer holepunch" PRIVATE OFF)