Avatar ·

在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项目中通常如何记录日志,以使代码干净、简洁且无需额外依赖?也许有某种标准模式或库可以解决这个问题?