Idiomatic way of logging in Kotlin

后端 未结 16 1474
情歌与酒
情歌与酒 2020-12-07 07:34

Kotlin doesn\'t have the same notion of static fields as used in Java. In Java, the generally accepted way of doing logging is:

public class Foo {
    privat         


        
16条回答
  •  星月不相逢
    2020-12-07 07:44

    fun  R.logger(): Lazy = lazy { 
        LoggerFactory.getLogger((if (javaClass.kotlin.isCompanion) javaClass.enclosingClass else javaClass).name) 
    }
    
    class Foo {
        val logger by logger()
    }
    
    class Foo {
        companion object {
            val logger by logger()
        }
    }
    

提交回复
热议问题