본문 바로가기
Spring Boot

[Spring Boot] 로깅 퍼사드 VS 로거

by 코리늬 2019. 12. 27.

본 내용은 백기선님의 스프링 부트 개념과 활용 강의를 보며 정리한 내용입니다.

 

로깅 퍼사드 vs 로거

  • Commons Logging, SLF4j (로깅 퍼사드) - 로거 API를 추상화 한 인터페이스
  • JUL, Log4j2, Logback (로거)

 

스프링 부트는 Commons Logging 를 사용

  • 스프링 개발 당시 SLF4j가 없어서
  • 하지만 최종적으로 Logback(SLF4j의 구현체) 으로 찍히게 된다.

 

스프링 부트 로깅

  • --debug (일부 핵심 라이브러리만 디버깅 모드로)
  • --trace (전부 다 디버깅 모드로)
  • 컬러 출력 : spring.output.ansi.enabled
  • 파일 출력 : logging.file or logging.path
  • 로그 레벨 조정 :logging.level.패키지 = 로그 레벨

 

커스텀 로그 설정 파일 사용하기

resources 아래

  • logback-spring.xml 사용

작성법

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <logger name="패키지 경로" level="DEBUG"/>
</configuration>

 

로거를 Log4j2로 변경하기

  • 기존 스프링 부트 스타터 웹에서 Logback 설정을 exclusion 시킨다.
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
            <groupId>org.springframework.boot></groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        <exclusions>    
</dependency>
  • 그 후 log4j2 의존성을 추가해준다.
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2></artifactId>
</dependency>

 

댓글