Avatar ·

Forma idiomática de logging en Kotlin: ¿cómo hacerlo correctamente y sin boilerplate?

¡Hola, colegas! Soy nuevo en Kotlin (migré desde Java) y no puedo entender cómo organizar correctamente el logging en un proyecto. En Java solía escribir algo como: ```kotlin private static final Logger log = LoggerFactory.getLogger(MyClass.class); ``` Y luego usar `log.info(...)`. En Kotlin esto se ve voluminoso y poco elegante: tengo que especificar `javaClass` o `this::class.java` cada vez. Resulta mucho código boilerplate. Intenté escribir así: ```kotlin class MyService { private val logger = LoggerFactory.getLogger(MyService::class.java) fun doSomething() { logger.info("Haciendo algo") } } ``` Pero esto se repite en cada clase. He oído sobre kotlin-logging y extension properties, pero no entiendo completamente cómo funciona de forma idiomática. Por favor, indíquenme cómo se acostumbra a hacer logging en proyectos Kotlin para que el código sea limpio, conciso y sin dependencias innecesarias. ¿Quizás hay algún patrón estándar o biblioteca que lo resuelva?