spring boot logback 설정

jeygeon·2023년 9월 30일
0

SpringBoot-Study

목록 보기
3/3
post-custom-banner

스프링 부트에서 로그 설정하는 법을 알아보자

🔑 의존성 추가

처음 프로젝트를 생성할 때 아래와 같은 의존성을 build.gradle에 추가해 줄 텐데

implementation 'org.springframework.boot:spring-boot-starter-web'

spring-boot-starter-web 안에 spring-boot-starter-logging에 구현체가 있기 때문에 위의 의존성만 추가되었다면 별다른 의존성 추가 없이 바로 logback 사용이 가능하다.

🔑 테스트

@Controller
@RequiredArgsConstructor
public class IndexController {

    private final Logger log = LoggerFactory.getLogger(IndexController.class);

    @GetMapping("/join")
    public String join(HttpServletRequest request) {

        log.trace("trace : 회원가입 페이지로 이동");
        log.debug("debug : 회원가입 페이지로 이동");
        log.info("info : 회원가입 페이지로 이동");
        log.warn("warn : 회원가입 페이지로 이동");
        log.error("error : 회원가입 페이지로 이동");
        return "join";
    }
}

위의 소스 처럼

private final Logger log = LoggerFactory.getLogger(IndexController.class);

의존성 추가 한 뒤 바로 페이지 이동할때 총 5가지의 로그를 찍어보았다.

나는 총 5가지의 로그를 찍었지만, 실제 로그 결과로는 위의 이미지처럼 info, warn, error만 나오게 되었다.

그 이유는 로그레벨의 순서는 아래와 같은데

trace < debug < info < warn < error

info가 default이기 때문에 info, warn, error만 찍히는 것이다.
그러면 trace, dubug까지의 레벨을 보고 싶으면,

application.yaml에 아래와 같은 로그 설정을 추가해주면 된다.

logging:
  level:
  	# default를 debug로 설정
    root: debug
    # 해당 패키지 내의 로그 레벨을 trace로 설정
    com.jaeygun.board: trace

이렇게 설정을 주니 default로 debug를 설정해도 trace까지 로그가 찍히는 것을 확인할 수 있었다.

post-custom-banner

0개의 댓글