diff --git a/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt b/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
index 0b5655d9dae94e70527445d2973e810765e43585..68093730fb08db1c66f87ecb275f017a001649b8 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/BriarService.kt
@@ -22,6 +22,7 @@ import org.briarproject.briar.desktop.dialogs.Registration
 import org.briarproject.briar.desktop.paul.theme.BriarTheme
 import org.briarproject.briar.desktop.paul.views.BriarUIStateManager
 import java.awt.Dimension
+import java.util.logging.Logger
 import javax.annotation.concurrent.Immutable
 import javax.inject.Inject
 import javax.inject.Singleton
@@ -62,6 +63,10 @@ constructor(
     private val passwordStrengthEstimator: PasswordStrengthEstimator
 ) : BriarService {
 
+    companion object {
+        private val LOG = Logger.getLogger(BriarServiceImpl::class.java.name)
+    }
+
     private val contacts: MutableList<Contact> = ArrayList()
 
     override fun stop() {
@@ -145,7 +150,7 @@ constructor(
     private fun loadContacts() {
         val contacts = contactManager.contacts
         for (contact in contacts) {
-            println("${contact.author.name} (${contact.alias})")
+            LOG.info("loaded contact: ${contact.author.name} (${contact.alias})")
             this.contacts.add(contact)
         }
     }
diff --git a/src/main/kotlin/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.kt b/src/main/kotlin/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.kt
index b65cf985c2ccf010f870dcf31d8729b31b3cdd3d..f8aa3835bbea1bca852b8070393882a533453f2d 100644
--- a/src/main/kotlin/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.kt
+++ b/src/main/kotlin/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.kt
@@ -1,6 +1,7 @@
 package org.briarproject.briar.desktop.chat
 
 import org.briarproject.bramble.api.db.DbException
+import org.briarproject.bramble.util.LogUtils
 import org.briarproject.briar.api.blog.BlogInvitationRequest
 import org.briarproject.briar.api.blog.BlogInvitationResponse
 import org.briarproject.briar.api.conversation.ConversationMessageHeader
@@ -13,7 +14,8 @@ import org.briarproject.briar.api.messaging.MessagingManager
 import org.briarproject.briar.api.messaging.PrivateMessageHeader
 import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest
 import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse
-import org.slf4j.LoggerFactory
+import java.util.logging.Level.WARNING
+import java.util.logging.Logger
 
 class ChatHistoryConversationVisitor(
     private val chat: Chat,
@@ -22,7 +24,7 @@ class ChatHistoryConversationVisitor(
     ConversationMessageVisitor<Void?> {
 
     companion object {
-        val logger = LoggerFactory.getLogger(ChatHistoryConversationVisitor::class.java)
+        private val LOG = Logger.getLogger(ChatHistoryConversationVisitor::class.java.name)
     }
 
     fun appendMessage(header: ConversationMessageHeader) {
@@ -30,7 +32,8 @@ class ChatHistoryConversationVisitor(
             val messageText = messagingManager.getMessageText(header.id)
             chat.appendMessage(header.isLocal, header.timestamp, messageText)
         } catch (e: DbException) {
-            logger.warn("Error while getting message text", e)
+            LOG.warning("Error while getting message text")
+            LogUtils.logException(LOG, WARNING, e)
         }
     }
 
diff --git a/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt b/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt
index 9bb81c253b4739a2070513865839d5fac51b1fa3..d7860028a8e2b074153bfd928e0e6b668e74c7db 100644
--- a/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt
+++ b/src/test/kotlin/org/briarproject/briar/desktop/RunWithTemporaryAccount.kt
@@ -9,16 +9,21 @@ import java.nio.file.Files
 import java.nio.file.Path
 import java.util.logging.Level.INFO
 import java.util.logging.LogManager
+import java.util.logging.Logger
 import kotlin.io.path.absolute
 
 internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.() -> Unit) {
 
+    companion object {
+        private val LOG = Logger.getLogger(RunWithTemporaryAccount::class.java.name)
+    }
+
     @OptIn(ExperimentalComposeUiApi::class)
     fun run() = application {
         LogManager.getLogManager().getLogger("").level = INFO
 
         val dataDir = getDataDir()
-        println("Using data directory '$dataDir'")
+        LOG.info("Using data directory '$dataDir'")
 
         val app =
             DaggerBriarDesktopTestApp.builder().desktopTestModule(
@@ -26,7 +31,7 @@ internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.()
             ).build()
 
         app.getShutdownManager().addShutdownHook {
-            println("deleting temporary account at $dataDir")
+            LOG.info("deleting temporary account at $dataDir")
             org.apache.commons.io.FileUtils.deleteDirectory(dataDir.toFile())
         }