jkbbwr
07/07/2016, 3:53 PMfun <T : Any> unwrapCompanionClass(ofClass: Class<T>): Class<*> {
return if (ofClass.enclosingClass != null && ofClass.enclosingClass.kotlin.companionObject?.java == ofClass) {
ofClass.enclosingClass
} else {
ofClass
}
}
fun <R : Any> R.getLog(): Lazy<Logger> {
return lazy { LoggerFactory.getLogger(unwrapCompanionClass(this.javaClass).name) }
}
class Test {
val log by getLog()
init {
<http://log.info|log.info>("testing")
}
fun method() {
<http://log.info|log.info>("method")
}
}