kotlin logger

2023. 6. 26. 23:01·Kotlin

kotlin 에서 slf4j logger 를 이용할 경우 불편한 점이 있어 LoggerDelegate 를 이용하여 사용하는 전략을 사용하고 있습니다.

class LoggerDelegate : ReadOnlyProperty<Any, Logger> {
    private lateinit var logger: Logger
    override fun getValue(thisRef: Any, property: KProperty<*>): Logger {
        if (!::logger.isInitialized) {
            logger = LoggerFactory.getLogger(thisRef.javaClass.name.substringBefore("\$Companion"))
        }
        return logger
    }
}

val loggerK: ReadOnlyProperty<Any, Logger> get() = LoggerDelegate()

 

사용 예제

// 사용방법 (1)
class GreetingService {
    private val log by loggerK
    
    fun hello() {
    	log.info("hello")
    }
}

// 사용방법 (2)
class GreetingService {
    companion object {
        private val logger by loggerK
    }
    
    fun hello() {
    	log.info("hello")
    }
}

'Kotlin' 카테고리의 다른 글

Kotlin Coroutine 개념  (0) 2023.10.05
kotlin euc-kr to utf-8 conversion  (0) 2023.09.09
Apache POI sheet.autoSizeColumn() Speed Up  (0) 2023.08.08
Kotlin Collections overview  (0) 2023.03.26
'Kotlin' 카테고리의 다른 글
  • Kotlin Coroutine 개념
  • kotlin euc-kr to utf-8 conversion
  • Apache POI sheet.autoSizeColumn() Speed Up
  • Kotlin Collections overview
somoly
somoly
About me.
  • somoly
    somoly.tistory.com
    somoly
  • 전체
    오늘
    어제
    • 전체 (55)
      • SpringBoot (8)
      • Kotlin (5)
      • Javascript (4)
      • 백엔드 (6)
      • Linux (25)
      • Windows (1)
      • IT (2)
      • FF14 (1)
      • 애니 (1)
      • Figure (1)
      • 회사생활 (1)
  • 블로그 메뉴

    • HOME
    • TAGS
    • MEDIA
    • LOCATION
    • GUESTBOOK
    • ADMIN
    • WRITE
  • 링크

    • [FF14] 5.0 (71-80) 제작 레벨링 매크로
    • [FF14] 갈론드벨
    • [FF14] FFLogs
    • [FF14] Ariyala 장비 시뮬레이터
    • [FF14] 낚시 도우미
    • [FF14] 인테리어 정보
    • [FF14] 의상 코디 정보
  • 공지사항

  • 인기 글

  • 태그

    P2P
    jvminline
    dynamodb local
    HTTP
    Spring
    ubuntu
    versioncomapre
    부팅
    83인치
    javascript
    string methods
    bcmod
    리눅스
    interactive table
    accesskey
    linux
    springboot
    Kotlin
    VirtualBox
    피규어
    우분투
    tabulator
    동영상
    utf-8
    exchage method
    설치
    30일전
    최후의 재림
    종료
    77인치
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
somoly
kotlin logger
상단으로

티스토리툴바