Kopring | logger 사용법

DoItDev·2021년 11월 15일
0
post-thumbnail

kotlin-logging-jvm?

  • 코틀린 로깅 의 경우 닷넷 기반을 작성된 kotlin 용 경량 로깅 프레임워크이다.
  • kotlin으로 slf4j 를 편리하게 사용하는 로깅 라이브러리

설명

기본적인 사용법 입니다.

java 에서 다르게 {} 을 사용하서 logger을 사용을 합니다.

logger.debug { "Some $expensive message!" }

디버그가 활성화 되지 않은 경우 비용이 많이들지 않기위해 isDebugEnabled를 제공하기 때문에 사용해서 logger 을 사용을 하면 좋습니다.

if (logger.isDebugEnabled) logger.debug("Some $expensive message!")

클래스 이름을 명시적으로 지정을 안하고 사용이 가능합니다.

클래스의 내부에서 변수 혹은 클래스가 아닌 kt 파일내에서 변수를 만들어서 사용이 가능합니다.

private val logger = KotlinLogging.logger {}

클래스 이름을 명시적으로 사용을 하고 싶을 때에는 아래와 같이 사용을 해주면 됩니다.

val logger =  LoggerFactory .getLogger( " package.ClassName " )

로그를 남길때 변수를 사용을 하고 싶다면 문자열에서 $ 혹은 + value 를 사용을 해서 로그를 남길 수 있습니다

logger.error(exception) { "a $fancy message about the $exception" }

설정방법

build.gradle.kts -> dependencies 에 logger 의존성을 추가해준다.

implementation("io.github.microutils:kotlin-logging-jvm:2.0.6")

확인을 위한 controller 을 만들어 줍니다.

아래의 코드의 경우 클래스 이름을 명시하지 않고 클래스 내부에 logger 변수를 만들어서 사용을 하였습니다.

@RestController
@RequestMapping("/api/hello")
class HelloResource {

    private val logger = KotlinLogging.logger {}

    @GetMapping("")
    fun showByString(): String {
        var message = "hello"
        logger.info { "success >> ${message}" }
        return message
    }

}
스크린샷 2021-11-15 오후 9 58 32

about

kotlin-logging-jvm

profile
Back-End Engineer

0개의 댓글