shared/src/commonMain/kotlin/org/jetbrains/kotlinconf/utils/Logger.kt (18 lines of code) (raw):

package org.jetbrains.kotlinconf.utils interface Logger { fun log(tag: String, lazyMessage: () -> String) } fun Logger.tagged(tag: String) = TaggedLogger(tag, this) class TaggedLogger( private val tag: String, private val delegate: Logger, ) { fun log(lazyMessage: () -> String) { delegate.log(tag, lazyMessage) } } class NoopProdLogger : Logger { override fun log(tag: String, lazyMessage: () -> String) { // No logging in prod } } internal const val MAX_LOG_MESSAGES_IN_MEMORY = 200