From 45fc715f030990785a111d7bf5aabbc03d4eb1e3 Mon Sep 17 00:00:00 2001 From: George Smyrnaios Date: Sun, 20 Oct 2024 01:01:07 +0200 Subject: [PATCH] Refactor event logging and tracing initialization Moved initialization of logging and tracing queues to improve code organization and readability. Retained all existing functionalities, including event consumption and appender registrations. --- .../io/github/smyrgeorge/log4k/RootLogger.kt | 38 +++++++++---------- .../github/smyrgeorge/log4k/TracingEvent.kt | 4 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/log4k/src/commonMain/kotlin/io/github/smyrgeorge/log4k/RootLogger.kt b/log4k/src/commonMain/kotlin/io/github/smyrgeorge/log4k/RootLogger.kt index adb2c338..31ad4683 100644 --- a/log4k/src/commonMain/kotlin/io/github/smyrgeorge/log4k/RootLogger.kt +++ b/log4k/src/commonMain/kotlin/io/github/smyrgeorge/log4k/RootLogger.kt @@ -28,25 +28,6 @@ object RootLogger { private val traces: Channel = Channel(capacity = Channel.UNLIMITED) - object Logging { - private var idx: Long = 0 - fun id(): Long = ++idx - val factory = SimpleLoggerFactory() - val loggers = LoggerRegistry() - val appenders = AppenderRegistry() - fun register(appender: Appender) = appenders.register(appender) - } - - object Tracing { - private var idx: Long = 0 - var prefix: String = "span" - fun id(): String = runBlocking { "$prefix-${Clock.System.now().epochSeconds}-${idx()}" } - private val mutex = Mutex() - private suspend fun idx(): Long = mutex.withLock { ++idx } - val appenders = AppenderRegistry() - fun register(appender: Appender) = appenders.register(appender) - } - init { Logging.register(SimpleConsoleLoggingAppender()) @@ -69,6 +50,25 @@ object RootLogger { fun log(event: LoggingEvent) = runBlocking { logs.send(event) } fun trace(event: TracingEvent) = runBlocking { traces.send(event) } + object Logging { + private var idx: Long = 0 + fun id(): Long = ++idx + val factory = SimpleLoggerFactory() + val loggers = LoggerRegistry() + val appenders = AppenderRegistry() + fun register(appender: Appender) = appenders.register(appender) + } + + object Tracing { + private var idx: Long = 0 + var prefix: String = "span" + fun id(): String = runBlocking { "$prefix-${Clock.System.now().epochSeconds}-${idx()}" } + private val mutex = Mutex() + private suspend fun idx(): Long = mutex.withLock { ++idx } + val appenders = AppenderRegistry() + fun register(appender: Appender) = appenders.register(appender) + } + private object LoggerScope : CoroutineScope { override val coroutineContext: CoroutineContext get() = EmptyCoroutineContext diff --git a/log4k/src/commonMain/kotlin/io/github/smyrgeorge/log4k/TracingEvent.kt b/log4k/src/commonMain/kotlin/io/github/smyrgeorge/log4k/TracingEvent.kt index 8d77e824..2cb0a4f0 100644 --- a/log4k/src/commonMain/kotlin/io/github/smyrgeorge/log4k/TracingEvent.kt +++ b/log4k/src/commonMain/kotlin/io/github/smyrgeorge/log4k/TracingEvent.kt @@ -36,9 +36,9 @@ interface TracingEvent { RootLogger.trace(event) } - fun event(msg: String, vararg args: Any?): Unit = withLock { + fun event(msg: String, vararg args: Any?) { // If already ended, return. - if (closed) return@withLock + if (closed) return val event = Event( id = "$id-${idx()}", spanId = id,