by Eunmin Kim
클로저 개발을 하면서 로그를 남기고 싶습니다.
slf4j
, Apache commons-logging
, log4j2
, log4j
, java.util.logging
구현체를
클로저에서 매크로로 쉽게 사용할 수 있는 clojure/tools.logging
라이브러리
의존성을 project.clj
:dependencies
에 추가합니다.
[org.clojure/tools.logging "0.4.1"]
clojure/tools.logging
는 여러가지 로그 구현체를 사용할 수 있지만 많이 쓰고 있고 slf4j
API를
구현한 logback
을 사용해봅시다. 역시 project.clj
:dependencies
에 추가합니다.
[ch.qos.logback/logback-classic "1.2.3"]
logback
설정 파일을 resources/logback.xml
에 아래와 같이 만들어 봅시다.
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
pattern
태그에 있는 값을 바꿔 포멧을 바꿔 봅시다. 자세한 설졍은
여기를 참고하세요.
(require '[clojure.tools.logging :as log])
(log/info "Hello World")
(log/error (RuntimeException. "Exception for test") "Hello World")
- Pure Clojure/Script 로깅 라이브러리 timbre