ฉันกำลังมองหาที่จะแทนที่
private static final Logger log = Logger.getLogger(MyClass.class);
ด้วยสิ่งที่ละเอียดน้อยกว่าเล็กน้อยและมีสำนวนมากกว่า
class MyClass {
companion object {
val log = LoggerFactory.getLogger(MyClass::class.java)
}
fun usage() {
log.debug("Success")
}
}
คะแนนโบนัสไม่ต้องดูแลในทุกคลาส
ฉันเหนื่อย:
interface HasLogger {
val log: Logger
get() = LoggerFactory.getLogger(this.javaClass)
}
แต่ผลลัพธ์นี้ทำให้เกิดการเรียก getLogger() สำหรับทุกการใช้งาน (ยอมรับไม่ได้) และยังส่งคืนตัวบันทึกสำหรับประเภทย่อยด้วย (ไม่ใช่ประเภทที่ถูกประกาศ)