/kotlin-logger

Idiomatic slf4j logging wrapper for kotlin projects.

Primary LanguageKotlin

kotlin-logger

Idiomatic slf4j logging wrapper for kotlin projects.

How to use

Import

Extend companion object

import mu.robertiturnbull.kotlin.logging.KotlinLogging
class <KotlinClass> {
    companion object : KotlinLogging()
}

Use with string interpolation

Signature for .debug

    fun debug(marker: String? = null, message: () -> Any?)
    fun debug(throwable: Throwable, marker: String? = null, message: () -> Any? = { null })

Example

    fun debug() {
        log.debug { "debugNormal()" }
        log.debug(ex)
        log.debug(ex) { "debugException()" }
    }

Example With Marker

    fun debug() {
        log.debug("MARKER") { "debugNormal()" }
        log.debug(ex, "MARKER")
        log.debug(ex, "MARKER") { "debugException()" }
    }
[%marker]

Using MDC

Signature for MDC

    fun saveMdcEntry(key: String, value: Any?)
    fun loadMdcEntry(key: String): String?
    fun removeMdcEntry(key: String)
    fun clearMdc()

Example MDC usage

    fun setUpMdc() {
        mdc().saveMdcEntry("x-parent", parent)
        mdc().saveMdcEntry("x-child", child)
    }
[%X{x-parent},%X{x-child}]