有没有一种类似于Lombok的注解@slf4j
在Kotlin中使用的方式?
目前,我有一个扩展函数可以为我实例化一个Logger Factory,我必须像下面的示例一样在每个类中创建这些变量:
@RestController
@RequestMapping("/api/v1/sample")
class SampleController() {
private val log = logger()
@GetMapping
fun show(): String {
log.info("SOME LOGGING MESSAGE")
return "OK"
}
}
inline fun <reified T> T.logger(): Logger {
if (T::class.isCompanion) {
return LoggerFactory.getLogger(T::class.java.enclosingClass)
}
return LoggerFactory.getLogger(T::class.java)
}
我想要达到的目标是类似于以下内容:
@Logger
@RestController
@RequestMapping("/api/v1/sample")
class SampleController() {
@GetMapping
fun show(): String {
log.info("SOME LOGGING MESSAGE")
return "OK"
}
}
private val logger = KotlinLogging.logger {}
然后您可以像想要的那样在类中使用此记录器。 - Danny Lagrouw