diff --git a/build.gradle.kts b/build.gradle.kts
index 8c29b9ea7ed5ea08cb17a95e71a3f11a47d0603c..26b937554d5f37b21b72ce3877a4e19a2e5938b2 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -57,6 +57,9 @@ dependencies {
     implementation(project(path = ":briar-core", configuration = "default"))
     implementation(project(path = ":bramble-java", configuration = "default"))
 
+    implementation("org.slf4j:jul-to-slf4j:1.7.32")
+    implementation("ch.qos.logback:logback-classic:1.2.6")
+
     val daggerVersion = "2.24"
     kapt("com.google.dagger:dagger-compiler:$daggerVersion")
 
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt
index ab5faf4f84c788502014a0de47ffeb01b0738751..7d0557cfab92baedce158012c76d4c4d91fa06f5 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/Main.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/Main.kt
@@ -15,6 +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 java.io.File.separator
 import java.io.IOException
 import java.lang.System.getProperty
@@ -63,6 +64,9 @@ private class Main : CliktCommand(
             else -> ALL
         }
 
+        SLF4JBridgeHandler.removeHandlersForRootLogger()
+        SLF4JBridgeHandler.install()
+
         LogManager.getLogManager().getLogger("").level = level
 
         val dataDir = getDataDir()
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
new file mode 100644
index 0000000000000000000000000000000000000000..afc2276801e78ff34769a7ead23fe967569d49d2
--- /dev/null
+++ b/src/main/resources/logback.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
+        </encoder>
+    </appender>
+
+    <logger name="org.briarproject.briar" level="INFO"/>
+    <logger name="org.briarproject.briar.desktop" level="INFO"/>
+
+    <root level="info">
+        <appender-ref ref="STDOUT"/>
+    </root>
+</configuration>