Skip to content
Snippets Groups Projects
Commit 6d22d4ea authored by Sebastian's avatar Sebastian Committed by Mikolai Gütschow
Browse files

Use io.github.microutils:kotlin-logging-jvm for logging

parent da82b571
No related branches found
No related tags found
1 merge request!37Bridge logging over slf4j to logback
Showing
with 39 additions and 47 deletions
...@@ -57,6 +57,7 @@ dependencies { ...@@ -57,6 +57,7 @@ dependencies {
implementation(project(path = ":briar-core", configuration = "default")) implementation(project(path = ":briar-core", configuration = "default"))
implementation(project(path = ":bramble-java", configuration = "default")) implementation(project(path = ":bramble-java", configuration = "default"))
implementation("io.github.microutils:kotlin-logging-jvm:2.0.10")
implementation("org.slf4j:jul-to-slf4j:1.7.32") implementation("org.slf4j:jul-to-slf4j:1.7.32")
implementation("ch.qos.logback:logback-classic:1.2.6") implementation("ch.qos.logback:logback-classic:1.2.6")
......
...@@ -2,6 +2,7 @@ package org.briarproject.briar.desktop.contact ...@@ -2,6 +2,7 @@ package org.briarproject.briar.desktop.contact
import androidx.compose.runtime.State import androidx.compose.runtime.State
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import mu.KotlinLogging
import org.briarproject.bramble.api.connection.ConnectionRegistry import org.briarproject.bramble.api.connection.ConnectionRegistry
import org.briarproject.bramble.api.contact.Contact import org.briarproject.bramble.api.contact.Contact
import org.briarproject.bramble.api.contact.ContactId import org.briarproject.bramble.api.contact.ContactId
...@@ -12,7 +13,6 @@ import org.briarproject.bramble.api.event.EventBus ...@@ -12,7 +13,6 @@ import org.briarproject.bramble.api.event.EventBus
import org.briarproject.briar.api.conversation.ConversationManager import org.briarproject.briar.api.conversation.ConversationManager
import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent import org.briarproject.briar.api.conversation.event.ConversationMessageReceivedEvent
import org.briarproject.briar.desktop.conversation.ConversationMessageToBeSentEvent import org.briarproject.briar.desktop.conversation.ConversationMessageToBeSentEvent
import java.util.logging.Logger
import javax.inject.Inject import javax.inject.Inject
class ContactListViewModel class ContactListViewModel
...@@ -25,7 +25,7 @@ constructor( ...@@ -25,7 +25,7 @@ constructor(
) : ContactsViewModel(contactManager, conversationManager, connectionRegistry) { ) : ContactsViewModel(contactManager, conversationManager, connectionRegistry) {
companion object { companion object {
private val LOG = Logger.getLogger(ContactListViewModel::class.java.name) private val LOG = KotlinLogging.logger {}
} }
init { init {
......
package org.briarproject.briar.desktop.contact package org.briarproject.briar.desktop.contact
import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateListOf
import mu.KotlinLogging
import org.briarproject.bramble.api.connection.ConnectionRegistry import org.briarproject.bramble.api.connection.ConnectionRegistry
import org.briarproject.bramble.api.contact.Contact import org.briarproject.bramble.api.contact.Contact
import org.briarproject.bramble.api.contact.ContactId import org.briarproject.bramble.api.contact.ContactId
...@@ -14,7 +15,6 @@ import org.briarproject.bramble.api.plugin.event.ContactDisconnectedEvent ...@@ -14,7 +15,6 @@ import org.briarproject.bramble.api.plugin.event.ContactDisconnectedEvent
import org.briarproject.briar.api.conversation.ConversationManager import org.briarproject.briar.api.conversation.ConversationManager
import org.briarproject.briar.desktop.utils.removeFirst import org.briarproject.briar.desktop.utils.removeFirst
import org.briarproject.briar.desktop.utils.replaceFirst import org.briarproject.briar.desktop.utils.replaceFirst
import java.util.logging.Logger
abstract class ContactsViewModel( abstract class ContactsViewModel(
protected val contactManager: ContactManager, protected val contactManager: ContactManager,
...@@ -23,7 +23,7 @@ abstract class ContactsViewModel( ...@@ -23,7 +23,7 @@ abstract class ContactsViewModel(
) : EventListener { ) : EventListener {
companion object { companion object {
private val LOG = Logger.getLogger(ContactsViewModel::class.java.name) private val LOG = KotlinLogging.logger {}
} }
private val _fullContactList = mutableListOf<ContactItem>() private val _fullContactList = mutableListOf<ContactItem>()
......
...@@ -10,7 +10,6 @@ import org.briarproject.bramble.api.db.PendingContactExistsException ...@@ -10,7 +10,6 @@ import org.briarproject.bramble.api.db.PendingContactExistsException
import org.briarproject.bramble.api.identity.AuthorConstants import org.briarproject.bramble.api.identity.AuthorConstants
import org.briarproject.bramble.util.StringUtils import org.briarproject.bramble.util.StringUtils
import java.security.GeneralSecurityException import java.security.GeneralSecurityException
import java.util.logging.Logger
import javax.inject.Inject import javax.inject.Inject
class AddContactViewModel class AddContactViewModel
...@@ -19,10 +18,6 @@ constructor( ...@@ -19,10 +18,6 @@ constructor(
private val contactManager: ContactManager, private val contactManager: ContactManager,
) { ) {
companion object {
private val LOG = Logger.getLogger(AddContactViewModel::class.java.name)
}
private val _alias = mutableStateOf("") private val _alias = mutableStateOf("")
private val _remoteHandshakeLink = mutableStateOf("") private val _remoteHandshakeLink = mutableStateOf("")
private val _handshakeLink = mutableStateOf("") private val _handshakeLink = mutableStateOf("")
......
...@@ -3,6 +3,7 @@ package org.briarproject.briar.desktop.conversation ...@@ -3,6 +3,7 @@ package org.briarproject.briar.desktop.conversation
import androidx.compose.runtime.State import androidx.compose.runtime.State
import androidx.compose.runtime.mutableStateListOf import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import mu.KotlinLogging
import org.briarproject.bramble.api.FormatException import org.briarproject.bramble.api.FormatException
import org.briarproject.bramble.api.connection.ConnectionRegistry import org.briarproject.bramble.api.connection.ConnectionRegistry
import org.briarproject.bramble.api.contact.ContactId import org.briarproject.bramble.api.contact.ContactId
...@@ -29,10 +30,9 @@ import org.briarproject.briar.api.messaging.PrivateMessage ...@@ -29,10 +30,9 @@ import org.briarproject.briar.api.messaging.PrivateMessage
import org.briarproject.briar.api.messaging.PrivateMessageFactory import org.briarproject.briar.api.messaging.PrivateMessageFactory
import org.briarproject.briar.api.messaging.PrivateMessageHeader import org.briarproject.briar.api.messaging.PrivateMessageHeader
import org.briarproject.briar.desktop.contact.ContactItem import org.briarproject.briar.desktop.contact.ContactItem
import org.briarproject.briar.desktop.utils.KLoggerUtils.logDuration
import org.briarproject.briar.desktop.utils.replaceIf import org.briarproject.briar.desktop.utils.replaceIf
import java.util.Date import java.util.Date
import java.util.logging.Level
import java.util.logging.Logger
import javax.inject.Inject import javax.inject.Inject
class ConversationViewModel class ConversationViewModel
...@@ -47,7 +47,7 @@ constructor( ...@@ -47,7 +47,7 @@ constructor(
) : EventListener { ) : EventListener {
companion object { companion object {
private val LOG = Logger.getLogger(ConversationViewModel::class.java.name) private val LOG = KotlinLogging.logger {}
} }
init { init {
...@@ -91,7 +91,7 @@ constructor( ...@@ -91,7 +91,7 @@ constructor(
val start = LogUtils.now() val start = LogUtils.now()
val m = createMessage(text) val m = createMessage(text)
messagingManager.addLocalMessage(m) messagingManager.addLocalMessage(m)
LogUtils.logDuration(LOG, "Storing message", start) LOG.logDuration("Storing message", start)
val message = m.message val message = m.message
val h = PrivateMessageHeader( val h = PrivateMessageHeader(
...@@ -103,9 +103,9 @@ constructor( ...@@ -103,9 +103,9 @@ constructor(
_messages.add(0, messageHeaderToItem(h)) _messages.add(0, messageHeaderToItem(h))
eventBus.broadcast(ConversationMessageToBeSentEvent(h, _contactId.value!!)) eventBus.broadcast(ConversationMessageToBeSentEvent(h, _contactId.value!!))
} catch (e: UnexpectedTimerException) { } catch (e: UnexpectedTimerException) {
LogUtils.logException(LOG, Level.WARNING, e) LOG.warn(e) {}
} catch (e: DbException) { } catch (e: DbException) {
LogUtils.logException(LOG, Level.WARNING, e) LOG.warn(e) {}
} }
} }
...@@ -128,7 +128,7 @@ constructor( ...@@ -128,7 +128,7 @@ constructor(
try { try {
val start = LogUtils.now() val start = LogUtils.now()
val headers = conversationManager.getMessageHeaders(_contactId.value!!) val headers = conversationManager.getMessageHeaders(_contactId.value!!)
LogUtils.logDuration(LOG, "Loading message headers", start) LOG.logDuration("Loading message headers", start)
// Sort headers by timestamp in *descending* order // Sort headers by timestamp in *descending* order
val sorted = headers.sortedByDescending { it.timestamp } val sorted = headers.sortedByDescending { it.timestamp }
_messages.apply { _messages.apply {
...@@ -138,12 +138,12 @@ constructor( ...@@ -138,12 +138,12 @@ constructor(
// todo: use ConversationVisitor to also display Request and Notice Messages // todo: use ConversationVisitor to also display Request and Notice Messages
sorted.filterIsInstance<PrivateMessageHeader>().map(::messageHeaderToItem) sorted.filterIsInstance<PrivateMessageHeader>().map(::messageHeaderToItem)
) )
LogUtils.logDuration(LOG, "Loading messages", start) LOG.logDuration("Loading messages", start)
} }
} catch (e: NoSuchContactException) { } catch (e: NoSuchContactException) {
LogUtils.logException(LOG, Level.WARNING, e) LOG.warn(e) {}
} catch (e: DbException) { } catch (e: DbException) {
LogUtils.logException(LOG, Level.WARNING, e) LOG.warn(e) {}
} }
} }
...@@ -153,7 +153,7 @@ constructor( ...@@ -153,7 +153,7 @@ constructor(
if (h.hasText()) { if (h.hasText()) {
item.text = loadMessageText(h.id) item.text = loadMessageText(h.id)
} else { } else {
LOG.warning { "private message without text" } LOG.warn { "private message without text" }
} }
return item return item
} }
...@@ -162,7 +162,7 @@ constructor( ...@@ -162,7 +162,7 @@ constructor(
try { try {
return messagingManager.getMessageText(m) return messagingManager.getMessageText(m)
} catch (e: DbException) { } catch (e: DbException) {
LogUtils.logException(LOG, Level.WARNING, e) LOG.warn(e) {}
} }
return null return null
} }
......
...@@ -8,7 +8,6 @@ import org.briarproject.bramble.api.contact.ContactManager ...@@ -8,7 +8,6 @@ import org.briarproject.bramble.api.contact.ContactManager
import org.briarproject.bramble.api.event.EventBus import org.briarproject.bramble.api.event.EventBus
import org.briarproject.briar.api.conversation.ConversationManager import org.briarproject.briar.api.conversation.ConversationManager
import org.briarproject.briar.desktop.contact.ContactsViewModel import org.briarproject.briar.desktop.contact.ContactsViewModel
import java.util.logging.Logger
import javax.inject.Inject import javax.inject.Inject
class IntroductionViewModel class IntroductionViewModel
...@@ -20,10 +19,6 @@ constructor( ...@@ -20,10 +19,6 @@ constructor(
eventBus: EventBus, eventBus: EventBus,
) : ContactsViewModel(contactManager, conversationManager, connectionRegistry) { ) : ContactsViewModel(contactManager, conversationManager, connectionRegistry) {
companion object {
private val LOG = Logger.getLogger(IntroductionViewModel::class.java.name)
}
init { init {
// todo: where/when to remove listener again? // todo: where/when to remove listener again?
eventBus.addListener(this) eventBus.addListener(this)
......
...@@ -21,7 +21,6 @@ import org.briarproject.briar.desktop.navigation.SidebarViewModel ...@@ -21,7 +21,6 @@ import org.briarproject.briar.desktop.navigation.SidebarViewModel
import org.briarproject.briar.desktop.theme.BriarTheme import org.briarproject.briar.desktop.theme.BriarTheme
import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n
import java.awt.Dimension import java.awt.Dimension
import java.util.logging.Logger
import javax.annotation.concurrent.Immutable import javax.annotation.concurrent.Immutable
import javax.inject.Inject import javax.inject.Inject
import javax.inject.Singleton import javax.inject.Singleton
...@@ -56,10 +55,6 @@ constructor( ...@@ -56,10 +55,6 @@ constructor(
private val lifecycleManager: LifecycleManager, private val lifecycleManager: LifecycleManager,
) : BriarUi { ) : BriarUi {
companion object {
private val LOG = Logger.getLogger(BriarUiImpl::class.java.name)
}
override fun stop() { override fun stop() {
// TODO: check how briar is doing this // TODO: check how briar is doing this
if (lifecycleManager.lifecycleState == RUNNING) { if (lifecycleManager.lifecycleState == RUNNING) {
......
package org.briarproject.briar.desktop.utils
import mu.KLogger
import org.briarproject.bramble.util.LogUtils
object KLoggerUtils {
fun KLogger.logDuration(task: String, start: Long) {
val duration = LogUtils.now() - start
debug { "$task took $duration ms" }
}
}
...@@ -2,17 +2,17 @@ package org.briarproject.briar.desktop ...@@ -2,17 +2,17 @@ package org.briarproject.briar.desktop
import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.window.application import androidx.compose.ui.window.application
import mu.KotlinLogging
import org.briarproject.bramble.BrambleCoreEagerSingletons import org.briarproject.bramble.BrambleCoreEagerSingletons
import org.briarproject.briar.BriarCoreEagerSingletons import org.briarproject.briar.BriarCoreEagerSingletons
import org.briarproject.briar.desktop.TestUtils.getDataDir import org.briarproject.briar.desktop.TestUtils.getDataDir
import java.util.logging.Level.INFO import java.util.logging.Level.INFO
import java.util.logging.LogManager import java.util.logging.LogManager
import java.util.logging.Logger
internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.() -> Unit) { internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.() -> Unit) {
companion object { companion object {
private val LOG = Logger.getLogger(RunWithTemporaryAccount::class.java.name) private val LOG = KotlinLogging.logger {}
} }
@OptIn(ExperimentalComposeUiApi::class) @OptIn(ExperimentalComposeUiApi::class)
...@@ -20,7 +20,7 @@ internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.() ...@@ -20,7 +20,7 @@ internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.()
LogManager.getLogManager().getLogger("").level = INFO LogManager.getLogManager().getLogger("").level = INFO
val dataDir = getDataDir() val dataDir = getDataDir()
LOG.info("Using data directory '$dataDir'") LOG.info { "Using data directory '$dataDir'" }
val app = val app =
DaggerBriarDesktopTestApp.builder().desktopTestModule( DaggerBriarDesktopTestApp.builder().desktopTestModule(
...@@ -28,7 +28,7 @@ internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.() ...@@ -28,7 +28,7 @@ internal class RunWithTemporaryAccount(val customization: BriarDesktopTestApp.()
).build() ).build()
app.getShutdownManager().addShutdownHook { app.getShutdownManager().addShutdownHook {
LOG.info("deleting temporary account at $dataDir") LOG.info { "deleting temporary account at $dataDir" }
org.apache.commons.io.FileUtils.deleteDirectory(dataDir.toFile()) org.apache.commons.io.FileUtils.deleteDirectory(dataDir.toFile())
} }
......
package org.briarproject.briar.desktop.testdata package org.briarproject.briar.desktop.testdata
import mu.KotlinLogging
import org.briarproject.bramble.api.FormatException import org.briarproject.bramble.api.FormatException
import org.briarproject.bramble.api.contact.Contact import org.briarproject.bramble.api.contact.Contact
import org.briarproject.bramble.api.contact.ContactId import org.briarproject.bramble.api.contact.ContactId
...@@ -24,7 +25,6 @@ import org.briarproject.bramble.api.sync.GroupFactory ...@@ -24,7 +25,6 @@ import org.briarproject.bramble.api.sync.GroupFactory
import org.briarproject.bramble.api.sync.GroupId import org.briarproject.bramble.api.sync.GroupId
import org.briarproject.bramble.api.sync.Message import org.briarproject.bramble.api.sync.Message
import org.briarproject.bramble.api.system.Clock import org.briarproject.bramble.api.system.Clock
import org.briarproject.bramble.util.LogUtils
import org.briarproject.briar.api.autodelete.AutoDeleteConstants import org.briarproject.briar.api.autodelete.AutoDeleteConstants
import org.briarproject.briar.api.avatar.AvatarManager import org.briarproject.briar.api.avatar.AvatarManager
import org.briarproject.briar.api.avatar.AvatarMessageEncoder import org.briarproject.briar.api.avatar.AvatarMessageEncoder
...@@ -37,8 +37,6 @@ import java.time.ZoneOffset ...@@ -37,8 +37,6 @@ import java.time.ZoneOffset
import java.util.Random import java.util.Random
import java.util.UUID import java.util.UUID
import java.util.concurrent.Executor import java.util.concurrent.Executor
import java.util.logging.Level
import java.util.logging.Logger
import javax.inject.Inject import javax.inject.Inject
import kotlin.math.min import kotlin.math.min
...@@ -58,7 +56,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor( ...@@ -58,7 +56,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
) : DeterministicTestDataCreator { ) : DeterministicTestDataCreator {
companion object { companion object {
private val LOG = Logger.getLogger(DeterministicTestDataCreatorImpl::class.java.name) private val LOG = KotlinLogging.logger {}
} }
private val random = Random() private val random = Random()
...@@ -74,7 +72,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor( ...@@ -74,7 +72,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
try { try {
createTestDataOnIoExecutor(numContacts, numPrivateMsgs, avatarPercent) createTestDataOnIoExecutor(numContacts, numPrivateMsgs, avatarPercent)
} catch (e: DbException) { } catch (e: DbException) {
LogUtils.logException(LOG, Level.WARNING, e) LOG.warn(e) { }
} }
} }
} }
...@@ -129,9 +127,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor( ...@@ -129,9 +127,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
db.getContact(txn, contactId) db.getContact(txn, contactId)
} }
if (random.nextInt(100) + 1 <= avatarPercent) addAvatar(contact) if (random.nextInt(100) + 1 <= avatarPercent) addAvatar(contact)
if (LOG.isLoggable(Level.INFO)) { LOG.info { "Added contact ${remote.name} with transport properties: $props" }
LOG.info("Added contact ${remote.name} with transport properties: $props")
}
localAuthors[contact] = remote localAuthors[contact] = remote
return contact return contact
} }
...@@ -242,7 +238,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor( ...@@ -242,7 +238,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
val `is`: InputStream = try { val `is`: InputStream = try {
testAvatarCreator.avatarInputStream testAvatarCreator.avatarInputStream
} catch (e: IOException) { } catch (e: IOException) {
LogUtils.logException(LOG, Level.WARNING, e) LOG.warn(e) {}
return return
} ?: return } ?: return
val m: Message = try { val m: Message = try {
...@@ -282,9 +278,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor( ...@@ -282,9 +278,7 @@ class DeterministicTestDataCreatorImpl @Inject internal constructor(
createPrivateMessage(contact.id, group.id, person.messages[k]) createPrivateMessage(contact.id, group.id, person.messages[k])
} }
} }
if (LOG.isLoggable(Level.INFO)) { LOG.info { "Created $numPrivateMsgs private messages per contact." }
LOG.info("Created $numPrivateMsgs private messages per contact.")
}
} }
@Throws(DbException::class) @Throws(DbException::class)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment