Spring framework test 실행시 로그 줄이기 (logback-test.xml)

글쓴이 Engineer Myoa 날짜

Logback

Spring framework 환경에서 테스트 코드 실행시, testbed profile 에 대해 별다른 logback 설정이 없다면 ,

아래와 같이 debug 로그부터 info 로그까지 바리바리 올라온다.

 

하지만 대부분의 로그는 assertion 에 관한 로그가 아닌, springframe context load, configuration 등에 관한 로그이다.

따라서 test 에 집중할 수 있도록 환경을 조성한다.

 

logback-test.xml

test 를 위한 logback 설정을 추가해준다.

 

test/java/resources 밑에 logback-test.xml 을 추가한다.

active 될 프로파일명을 env 라고하면, logback-${env}.xml 형태로 명명하면 된다.

 

파일 내용은 아래를 추가해준다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<include resource="org/springframework/boot/logging/logback/base.xml"/>
	<logger name="org.springframework.core " level="error"/>
	<logger name="org.springframework.beans" level="error"/>
	<logger name="org.springframework.context" level="error"/>
	<logger name="org.springframework.transaction" level="error"/>
	<logger name="org.springframework.web" level="error"/>
	<logger name="org.springframework.test" level="error"/>
	<logger name="org.hibernate" level="error"/>
</configuration>
  • springframework 의 다량의 로그를 뱉는 몇가지 package 들의 logging-level 을 error 로 바꿔준다.
  • SpringBootTest 시에는 repository 사용으로 인해 hibernate 를 사용할 수 도 있으니 hibernate package 또한 추가한다.
  • 경우에 따라 http request 가 있으면 해당 package 도 logging-level 을 제어한다.

 

그러고 다시 테스트를 돌려본다면 아래와 같이 깔끔하게 테스트중인 package 의 log 만 찍히게 된다.

 

 


132개의 댓글

답글 남기기

Avatar placeholder

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다