본문 바로가기
프로그래밍/slf4j 사용하기

slf4j 와 logback연동

by Flow.X 2022. 1. 10.
728x90

java에서 다양한 log framework이 있다.

요즘은 maven이나 gradle등으로 설정하면 다 되는데 생각보다 standalone으로 셋팅한는 법이 없어 정리해보려 한다.

 

그중에 logback 과 slf4j 연동을 한번 해보려 한다

slf4j 다운로드 

https://www.slf4j.org/download.html 에서 보면 Maven central 에서 다운로드 받게 되어 있다

slf4j-api-{latest version}.jar 를 다운받는다

 

logback 다운로드 

https://www.slf4j.org/manual.html 에서 보면 필요한 Library 등이 있다.

지원되는 다른 logger 들도 많다

 

설명에 보면 logback-classic-${logback.version}.jar , logback-core-${logback.version}.jar 두개가 필요하다.

https://logback.qos.ch/download.html 에서 다운로드 하자.

다음에 logback.xml 을 추가하자.

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>
  <root level="trace">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

 

VSCode의 최종모습

Referenced Library에 3개를 추가하고, logback.xml 추가하자.

 

vscode 모습

App.java 코드다. 실행해보자.

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class App {
    final static Logger logger = LoggerFactory.getLogger(App.class);

    public static void main(String[] args) throws Exception {
        logger.info("Hello, World for slf4j info");
        logger.warn("Hello, World for slf4j warn");
        logger.debug("Hello, World for slf4j debug");
        logger.trace("Hello, World for slf4j trace");
    }
}

 

실행하면 아래가 나온다 

16:15:17 [main] INFO  App - Hello, World for slf4j info
16:15:17 [main] WARN  App - Hello, World for slf4j warn
16:15:17 [main] DEBUG App - Hello, World for slf4j debug
16:15:17 [main] TRACE App - Hello, World for slf4j trace

 

logback.xml 을 수정해보자

log level 과 문구를 보면 대충 감이 올것이다 

root level= "trace|debug|warn|info" 에 따라 로그가 찍히고 안찍히고 하겠지..

appender 속성에 name 과 root 내에 있는건 같겠지

pattern에는 로그 포멧이군 

logback.xml 포멧

 

https://logback.qos.ch/manual/layouts.html 에서 pattern format을 보면 될듯하다.

728x90

'프로그래밍 > slf4j 사용하기' 카테고리의 다른 글

slf4j 와 log4j 2 연동  (0) 2022.01.07