कोटलिन में लॉगिंग का इडियोमैटिक तरीका
सभी को नमस्कार! मैं Kotlin में नौसिखिया हूँ और Java से आ रहा हूँ। Java में मैं SLF4J को Logback के साथ उपयोग करने का आदी था और लॉगर को इस प्रकार घोषित करता था:
```java
private static final Logger logger = LoggerFactory.getLogger(MyClass.class);
```
Kotlin में मैं देखता हूँ कि कई लोग लॉगर के लिए `companion object` जैसा कुछ उपयोग करते हैं। लेकिन मुझे यकीन नहीं है कि यह इडियोमैटिक है। इसके अलावा, मुझे `kotlin-logging` लाइब्रेरी मिली, जो काम को सरल बनाती है।
मेरा वर्तमान कोड इस प्रकार दिखता है:
```kotlin
class MyService {
companion object {
private val logger = LoggerFactory.getLogger(MyService::class.java)
}
fun doSomething() {
logger.info("Doing something")
}
}
```
यह काम करता है, लेकिन मुझे यह बोझिल लगता है। क्या हर बार `companion object` लिखना आवश्यक है? क्या कोई छोटा और साफ तरीका है? मैंने extension-functions और delegated properties के बारे में सुना है, लेकिन समझ नहीं आता कि उन्हें लॉगिंग पर कैसे लागू करूँ।
साथ ही, मुझे यह भी जानना है: Kotlin में सही तरीके से लॉग कैसे करें ताकि प्रदर्शन संबंधी समस्याएँ न हों (उदाहरण के लिए,