Spring framework test 실행시 로그 줄이기 (logback-test.xml)
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개의 댓글