From ce5bf15edecc0c63cc9dce90e129e3f41b251ee1 Mon Sep 17 00:00:00 2001 From: oshai Date: Thu, 13 Jul 2023 01:47:09 +0300 Subject: [PATCH] add back KLogging --- .../io/github/oshai/kotlinlogging/KLogging.kt | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/jvmMain/kotlin/io/github/oshai/kotlinlogging/KLogging.kt diff --git a/src/jvmMain/kotlin/io/github/oshai/kotlinlogging/KLogging.kt b/src/jvmMain/kotlin/io/github/oshai/kotlinlogging/KLogging.kt new file mode 100644 index 00000000..27091edd --- /dev/null +++ b/src/jvmMain/kotlin/io/github/oshai/kotlinlogging/KLogging.kt @@ -0,0 +1,42 @@ +package io.github.oshai.kotlinlogging + +import io.github.oshai.kotlinlogging.internal.KLoggerFactory + +/** + * A class with logging capabilities usage example: + * ``` + * class ClassWithLogging { + * companion object: KLogging() + * fun test() { + * logger.info{"test ClassWithLogging"} + * } + * } + * ``` + */ +@Deprecated("Use KLogger instead", ReplaceWith("KLogger", "io.github.oshai.kotlinlogging.KLogger")) +public open class KLogging : KLoggable { + override val logger: KLogger = logger() +} + +/** A class with logging capabilities and explicit logger name */ +@Deprecated("Use KLogger instead", ReplaceWith("KLogger", "io.github.oshai.kotlinlogging.KLogger")) +public open class NamedKLogging(name: String) : KLoggable { + override val logger: KLogger = logger(name) +} + +/** + * An interface representing class with logging capabilities implemented using a logger obtain a + * logger with logger() method + */ +@Deprecated("Use KLogger instead", ReplaceWith("KLogger", "io.github.oshai.kotlinlogging.KLogger")) +public interface KLoggable { + + /** The member that performs the actual logging */ + public val logger: KLogger + + /** get logger for the class */ + public fun logger(): KLogger = KLoggerFactory.logger(this::class.java.name) + + /** get logger by explicit name */ + public fun logger(name: String): KLogger = KLoggerFactory.logger(name) +}