What is the best way to define log TAG constant in Kotlin?

后端 未结 17 2362
暗喜
暗喜 2021-01-30 16:00

I\'m creating my first Kotlin classes in my Android application. Usually for logging purposes I have a constant with name TAG. What I would do in Java is:



        
17条回答
  •  野性不改
    2021-01-30 16:15

    I Like TAG to be an extension function as suggested by Fredy Mederos.

    extending his answer to support anonymous classes :

     /**
     * extension function to provide TAG value
     */
    val Any.TAG: String
        get() {
            return if (!javaClass.isAnonymousClass) {
                val name = javaClass.simpleName
                if (name.length <= 23) name else name.substring(0, 23)// first 23 chars
            } else {
                val name = javaClass.name
                if (name.length <= 23) name else name.substring(name.length - 23, name.length)// last 23 chars
            }
        }
    

提交回复
热议问题