在Kotlin中符合习惯的日志记录方式:如何正确且无样板代码?
大家好,同事!我是Kotlin新手(从Java转过来),不明白如何在项目中正确组织日志记录。在Java中,我习惯写类似这样的代码:
```kotlin
private static final Logger log = LoggerFactory.getLogger(MyClass.class);
```
然后使用`log.info(...)`。在Kotlin中,这看起来冗长且不美观:每次都必须指定`javaClass`或`this::class.java`。结果产生很多boilerplate代码。我尝试过这样写:
```kotlin
class MyService {
private val logger = LoggerFactory.getLogger(MyService::class.java)
fun doSomething() {
logger.info("Doing something")
}
}
```
但这在每个类中仍然重复。我听说过kotlin-logging和extension properties,但不完全理解它们如何符合习惯地工作。请告诉我,在Kotlin项目中通常如何记录日志,以使代码干净、简洁且无需额外依赖?也许有某种标准模式或库可以解决这个问题?