Skip to content
This repository has been archived by the owner on Jan 18, 2024. It is now read-only.

Logging

Jong Wook Kim edited this page Feb 2, 2017 · 1 revision

Mango Logging은 스칼라에서 사용하기 편리하도록 SLF4J를 감싼 라이브러리입니다. Logging trait을 extend 하면 logger 필드를 통해 로그를 남길 수 있습니다.

import com.kakao.mango.logging.Logging

class AwesomeClass extends AwesomeBaseClass with Logging {
  logger.info(s"quick brown fox blah blah")
}

Scala macro를 사용하여 로그 처리로 인해 발생하는 런타임 오버헤드를 최소화했으며, slf4j의 marker기능을 사용하여 로그가 호출된 소스 파일의 이름과 라인넘버를 기록하고 있습니다. 이 방식은 Throwable을 통해서 런타임에 라인넘버를 알아내는 Java 방식에 비해 오버헤드가 전혀 없어서 모든 레벨의 로그에서 부담없이 사용할 수 있습니다. 라인넘버를 출력하려면 logback의 PatternLayout에서 %marker를 지정해주어야 합니다.

Clone this wiki locally