Avatar ·

कोटलिन में लॉगिंग का इडियोमैटिक तरीका

सभी को नमस्कार! मैं 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 में सही तरीके से लॉग कैसे करें ताकि प्रदर्शन संबंधी समस्याएँ न हों (उदाहरण के लिए,