Popularity
1.6
Growing
Activity
3.9
Growing
8
3
1

Programming language: Kotlin
Tags: Misc    
Latest version: v1.3.70

klog alternatives and similar libraries

Based on the "Misc" category

Do you think we are missing an alternative of klog or a related project?

Add another 'Misc' Library

README

klog

This project is not abandonned. It's just nothing to add.

KLogging provides unified logging API, which you can use from Kotlin code targeted for JVM, Javascript common kotlin (and native soon).

Download

Use https://jitpack.io repository

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

Use these dependencies per kotlin module respectively:

compile 'com.github.lewik.klog:klog-metadata:2.0.0' //for common modules
compile 'com.github.lewik.klog:klog-js:2.0.0'  //for js modules
compile 'com.github.lewik.klog:klog-jvm:2.0.0'  //for jvm modules

Usage

class Foo {
    val log = KLoggers.logger(this)

    fun test() {
        log("This string will be evaluated regardless if trace enabled = ${log.isTraceEnabled}")
        log {"This string will not be evaluated unless trace enabled = ${log.isTraceEnabled}"}

        log("debug level")
        log { "debug level" }

        log.trace("trace")
        log.debug("debug")
        log.info("info")
        log.warn("warn")
        log.debug("error")

        log.trace { "trace" }
        log.debug { "debug" }
        log.info { "info" }
        log.warn { "warn" }
        log.debug { "error" }
    }
}

Another ways to obtain logger:

class Bar {
    private val log = KLoggers.logger(this)

    fun test() { log("Have some logging!") }
}

class Baz : WithLogging by KLoggerHolder() {
    fun test() { log("Have some logging!") }
}

class Qux {//*
    companion object: WithLogging by KLoggerHolder() 

    fun test() { log("Have some logging!") }
} 

* Qux: https://en.wikipedia.org/wiki/Metasyntactic_variable

Inspired by