본문 바로가기

Spring/etc

[Spring Boot] Logback과 Spring Boot에서 Logback 사용하기

728x90
반응형

 

 

이번 글에서는 Logback의 내용과 Spring Boot에서의 Logback 적용법 및 설정 방법에 대해서 알아보도록 하겠습니다.

 

더보기

아래의 글들을 참고하여 포스팅 된 글입니다.

https://www.baeldung.com/logback

 

 

LogBack?

 

logback은 log4j 기반의 logging framework입니다.

Spring에서 log를 남기기 위해서 slf4j를 흔하게 사용하곤 하는데, 이 slf4j는 로깅에 대한 추상 레이어를 제공하는 인터페이스 모음입니다.

따라서 slf4j만으로는 로그를 제대로 출력해낼 수 없고, 이를 구현하기 위한 native 구현체가 필요한데 이것이 바로 LogBack이라는 로깅 라이브러리입니다.

 

 

 

Spring Boot에서 slf4j와 LogBack 사용할 준비하기

 

Spring에 Log4j2, Logback, Slf4j가 준비되어있는지 확인하고, 만약 없다면 디펜던시에 추가하여줍니다.

 

 

그 다음으로는 LogBack을 사용하기 위한 설정을 넣어줄 xml을 작성해주어야 합니다.

xml은 logback.xml이나 logback-spirng.xml을 주로 사용하게 되는데,

logback.xml의 경우 Spring 구동 이전에 classpath 내의 logback.xml을 찾아 설정을 적용하고,

logback-sping.xml의 경우 Spring 구동 이후에 적용하는 것이기 때문에 application.properties 값들을 사용할 수 있다는 차이점이 있습니다.

 

 

저는 logback-spring.xml을 이용하여 설정하도록 하겠습니다.

main/resouces 폴더 안에 logback-spring.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>

 

 

그 후, log를 찍고자 하는 class 위에 @Slf4j 어노테이션을 달아줍니다.

로그는 다음과 같이 남길 수 있습니다.

 

 

log.info("logging...");

 

확인해 보았을 때에 로그가 아래처럼 내가 정해준 대로 잘 찍힌다면 이제 로그를 사용할 수 있습니다.

 

 

 

현재 로그가 남겨진 것을 보면 가장 왼쪽부터 시간, 쓰레드, 로그 레벨, 로거 이름, 메시지 순서로 되어있는 것을 알 수 있습니다.

이는 logback-spring.xml을 수정하면 커스텀하게 바꿀 수 있고, 색깔 지정이나 추가적인 내용들을 출력하거나 로그를 파일로 남기는 등의 설정도 할 수 있습니다.

 

 

다음 글에서는 logback-spring.xml에서 이러한 설정을 하는 방법에 대해서 다뤄보겠습니다.

 

 

 

 

728x90
반응형

'Spring > etc' 카테고리의 다른 글

[Spring Boot] Spring Boot의 dependency  (0) 2023.03.19
[Spring Boot] ORM과 JDBC, JPA  (0) 2021.04.11
[Spring Boot] 스프링 부트와 build.gradle  (0) 2021.03.21