Created
October 20, 2021 21:27
-
-
Save trevorhackman/7581f5d6c7626c7d590cb2bcaebed451 to your computer and use it in GitHub Desktop.
Tagger but with reflection to grab class name.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface Tag { | |
val tag: String | |
val log: Tagger.TaggedLogger | |
} | |
open class Tagger() : Tag { | |
override val tag = javaClass.enclosingClass?.simpleName ?: javaClass.simpleName | |
interface TaggedLogger { | |
fun e(message: String) | |
fun w(message: String) | |
fun i(message: String) | |
fun d(message: String) | |
fun v(message: String) | |
} | |
override val log = object : TaggedLogger { | |
override fun e(message: String) { | |
Log.e(tag, message) | |
} | |
override fun w(message: String) { | |
Log.w(tag, message) | |
} | |
override fun i(message: String) { | |
Log.i(tag, message) | |
} | |
override fun d(message: String) { | |
Log.d(tag, message) | |
} | |
override fun v(message: String) { | |
Log.v(tag, message) | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment