Avatar ·

Forma idiomática de logging em Kotlin

Olá a todos! Sou novo em Kotlin e estou migrando do Java. Em Java, eu costumava usar SLF4J com Logback e declarar o logger assim: ```java private static final Logger logger = LoggerFactory.getLogger(MyClass.class); ``` Em Kotlin, vejo que muitos usam algo como `companion object` para o logger. Mas não tenho certeza se isso é idiomático. Além disso, encontrei a biblioteca `kotlin-logging`, que parece simplificar o trabalho. Meu código atual é assim: ```kotlin class MyService { companion object { private val logger = LoggerFactory.getLogger(MyService::class.java) } fun doSomething() { logger.info("Fazendo algo") } } ``` Isso funciona, mas parece verboso. Preciso escrever `companion object` toda vez? Existe uma forma mais curta e limpa? Ouvi falar sobre extension functions e delegated properties, mas não entendo como aplicá-los ao logging. Também estou interessado em: como fazer logging corretamente em Kotlin para não ter problemas com pro