From 12d5c413dc978acae689fa79e4c4afc3b99822b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de>
Date: Fri, 12 Nov 2021 10:51:24 +0100
Subject: [PATCH] Properly configure logging for testing executables, too

---
 .../kotlin/org/briarproject/briar/desktop/Main.kt |  8 ++------
 .../briarproject/briar/desktop/utils/LogUtils.kt  | 15 +++++++++++++++
 .../desktop/RunWithMultipleTemporaryAccounts.kt   |  6 +++---
 .../briar/desktop/RunWithTemporaryAccount.kt      |  6 +++---
 4 files changed, 23 insertions(+), 12 deletions(-)
 create mode 100644 src/main/kotlin/org/briarproject/briar/desktop/utils/LogUtils.kt

diff --git a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt
index 7d0557cfab..36b4aef076 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt
@@ -15,7 +15,7 @@ import org.briarproject.briar.BriarCoreEagerSingletons
 import org.briarproject.briar.desktop.utils.FileUtils
 import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n
 import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18nF
-import org.slf4j.bridge.SLF4JBridgeHandler
+import org.briarproject.briar.desktop.utils.LogUtils
 import java.io.File.separator
 import java.io.IOException
 import java.lang.System.getProperty
@@ -25,7 +25,6 @@ import java.nio.file.Paths
 import java.util.logging.Level.ALL
 import java.util.logging.Level.INFO
 import java.util.logging.Level.WARNING
-import java.util.logging.LogManager
 
 private val DEFAULT_DATA_DIR = getProperty("user.home") + separator + ".briar" + separator + "desktop"
 
@@ -64,10 +63,7 @@ private class Main : CliktCommand(
             else -> ALL
         }
 
-        SLF4JBridgeHandler.removeHandlersForRootLogger()
-        SLF4JBridgeHandler.install()
-
-        LogManager.getLogManager().getLogger("").level = level
+        LogUtils.setupLogging(level)
 
         val dataDir = getDataDir()
         val app =
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/utils/LogUtils.kt b/src/main/kotlin/org/briarproject/briar/desktop/utils/LogUtils.kt
new file mode 100644
index 0000000000..527a2f4f82
--- /dev/null
+++ b/src/main/kotlin/org/briarproject/briar/desktop/utils/LogUtils.kt
@@ -0,0 +1,15 @@
+package org.briarproject.briar.desktop.utils
+
+import org.slf4j.bridge.SLF4JBridgeHandler
+import java.util.logging.Level
+import java.util.logging.LogManager
+
+object LogUtils {
+
+    fun setupLogging(level: Level) {
+        SLF4JBridgeHandler.removeHandlersForRootLogger()
+        SLF4JBridgeHandler.install()
+
+        LogManager.getLogManager().getLogger("").level = level
+    }
+}
diff --git a/src/test/kotlin/org/briarproject/briar/desktop/RunWithMultipleTemporaryAccounts.kt b/src/test/kotlin/org/briarproject/briar/desktop/RunWithMultipleTemporaryAccounts.kt
index 2747c4277f..7c927125c7 100644
--- a/src/test/kotlin/org/briarproject/briar/desktop/RunWithMultipleTemporaryAccounts.kt
+++ b/src/test/kotlin/org/briarproject/briar/desktop/RunWithMultipleTemporaryAccounts.kt
@@ -9,8 +9,8 @@ import org.briarproject.bramble.api.plugin.TorConstants.DEFAULT_CONTROL_PORT
 import org.briarproject.bramble.api.plugin.TorConstants.DEFAULT_SOCKS_PORT
 import org.briarproject.briar.BriarCoreEagerSingletons
 import org.briarproject.briar.desktop.TestUtils.getDataDir
-import java.util.logging.Level.INFO
-import java.util.logging.LogManager
+import org.briarproject.briar.desktop.utils.LogUtils
+import java.util.logging.Level.ALL
 import java.util.logging.Logger
 
 internal class RunWithMultipleTemporaryAccounts(
@@ -26,7 +26,7 @@ internal class RunWithMultipleTemporaryAccounts(
 
     @OptIn(ExperimentalComposeUiApi::class)
     fun run() {
-        LogManager.getLogManager().getLogger("").level = INFO
+        LogUtils.setupLogging(ALL)
 
         for (i in names.indices) {
             val name = names[i]
diff --git a/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt b/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt
index f13ba8e95b..fc340f94ce 100644
--- a/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt
+++ b/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt
@@ -6,8 +6,8 @@ import mu.KotlinLogging
 import org.briarproject.bramble.BrambleCoreEagerSingletons
 import org.briarproject.briar.BriarCoreEagerSingletons
 import org.briarproject.briar.desktop.TestUtils.getDataDir
-import java.util.logging.Level.INFO
-import java.util.logging.LogManager
+import org.briarproject.briar.desktop.utils.LogUtils
+import java.util.logging.Level.ALL
 
 internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.() -> Unit) {
 
@@ -17,7 +17,7 @@ internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.()
 
     @OptIn(ExperimentalComposeUiApi::class)
     fun run() {
-        LogManager.getLogManager().getLogger("").level = INFO
+        LogUtils.setupLogging(ALL)
 
         val dataDir = getDataDir()
         LOG.info { "Using data directory '$dataDir'" }
-- 
GitLab