Avatar ·

Forma idiomática de logging en Kotlin

¡Hola a todos! Soy nuevo en Kotlin y vengo de Java. En Java solía usar SLF4J con Logback y declarar el logger así: ```java private static final Logger logger = LoggerFactory.getLogger(MyClass.class); ``` En Kotlin veo que muchos usan algo como `companion object` para el logger. Pero no estoy seguro de que sea idiomático. Además, me topé con la librería `kotlin-logging`, que parece simplificar el trabajo. Mi código actual se ve así: ```kotlin class MyService { companion object { private val logger = LoggerFactory.getLogger(MyService::class.java) } fun doSomething() { logger.info("Doing something") } } ``` Esto funciona, pero me parece engorroso. ¿Es necesario escribir `companion object` cada vez? ¿Hay una forma más corta y limpia? He oído sobre extension functions y delegated properties, pero no entiendo cómo aplicarlos al logging. También me interesa: ¿cómo hacer logging correctamente en Kotlin para no tener problemas con pr