Idiomatischer Weg zum Loggen in Kotlin: Wie macht man es richtig und ohne Boilerplate?
Hallo Kollegen! Ich bin neu in Kotlin (von Java umgestiegen) und verstehe nicht, wie man das Logging in einem Projekt richtig organisiert. In Java war ich es gewohnt, so etwas zu schreiben:\n\n```kotlin\nprivate static final Logger log = LoggerFactory.getLogger(MyClass.class);\n```\n\nUnd dann `log.info(...)` zu verwenden. In Kotlin wirkt das umständlich und unschön: man muss jedes Mal `javaClass` oder `this::class.java` angeben. Es entsteht viel Boilerplate-Code. Ich habe versucht, es so zu schreiben:\n\n```kotlin\nclass MyService {\n private val logger = LoggerFactory.getLogger(MyService::class.java)\n \n fun doSomething() {\n logger.info("Doing something")\n }\n}\n```\n\nAber das wiederholt sich trotzdem in jeder Klasse. Ich habe von kotlin-logging und Extension Properties gehört, verstehe aber nicht ganz, wie das idiomatisch funktioniert.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen