Server/Spring

[Spring] 스프링부트에서 출력되는 로그 레벨 변경하기

말도 못하는 감자 2023. 7. 26. 22:48

스프링부트를 이용해 프로젝트를 생성하고 별도의 설정을 건드려주지 않으면 로그는 info 단계 상위만 출력된다. (로그 단계 순서: trace-debug-info-warn-error)

따라서 만약 그 하위 로그 단계도 출력하고 싶다면 별도로 설정을 변경해주어야 한다. 현재 스프링 생태계에서 많이 사용되는 로깅 라이브러리로 logbackslf4j가 있고, 이 두 라이브러리의 설정을 건드려주면 로깅에 대한 설정을 변경할 수 있다. 오늘은 이 두 라이브러리가 아닌, 간단하게 속성파일을 변경하여 외부 설정정보를 바꿔주는 방법으로 출력 로그 단계를 변경해보고자 한다. 


application.properties: 스프링부트가 동작하는데 필요한 설정정보를 담아두는 파일로, 외부 설정 정보를 변경해줄 수 있다.

예전에는 xml 형식으로 많이 쓰였었지만, 최근에는 YAML(yml) 형식을 많이 사용한다.

 

곧이어 실습을 해보았다.

 

우선 아무런 설정정보를 입력하지 않고 어플리케이션을 실행시키고, 동작을 실행시키면 아래와 같이 info 로그만 3줄 출력되는 것을 확인할 수 있다.

 

기본 설정 (설정 정보 변경 전)

이제 applcation.yml 파일을 다음과 같이 수정하면, debug 단계까지 출력시킬 수 있다. 이때 level 하위 키인 web은 웹이 동작할 때의 로그를 나타내고, sql은 sql 질의어가 동작될 때의 로그를 의미한다.

logging:
  level:
    web: debug
    sql: debug

그랬더니 아래와 같이 debug 단계도 출력된 것을 확인할 수 있다.

설정 정보 변경 후

단순히 debug로 변경했을 뿐인데 출력된 로그 수가 확연히 늘어난 것을 확인할 수 있었고, trace로 변경한다면 더더욱 늘어날 것이다.