Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

괴발개발 개발하다

[ Spring ] 스프링 log 레벨 설정 본문

spring

[ Spring ] 스프링 log 레벨 설정

괴발새발개발자 2022. 7. 9. 14:47

< 로그의 레벨 설정 >

- 테스트 코드를 실행하면 상당히 많은 양의 로그가 출력되기 때문에 불편하다.이런 상황에서는 로그 레벨을 이용해서 조금 수정해줄 필요가 있음.

- 테스트 코드가 실행될 때의 로그와 관련 설정은 src/test/resources밑에 log4j.xml을 이용함.(src/main/resources 아닌src/test/resources 임을 주의)

 

 

1. log4j.xml 

<!-- Root Logger -->
<root>
    <priority value="info" />
    <appender-ref ref="console" />
</root>

테스트코드가 실행될때 ‘INFO…‘,메세지는 log4j.xml의 마지막 부분에 있는 설정에 영향을 받는다.

 

 1) log4jdbc에서 출력되는 로그를 조절하고 싶다면 아래의 <logger>를 추가함.

<logger name="jdbc.audit">
    <level value="warn" />
</logger>
<logger name="jdbc.resultset">
    <level value="warn" />
</logger>
<logger name="jdbc.connection">
    <level value="warn" />
</logger>

 

 

 2) log4j.xml 내용

  - 빨간 에러 표시들은 log4j.xml 파일을 저장하고 끄면 사라진다.

 

 3) log4j.xml 전체코드

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

	<!-- Appenders -->
	<appender name="console" class="org.apache.log4j.ConsoleAppender">
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%-5p: %c - %m%n" />
		</layout>
	</appender>
	
	<!-- Application Loggers -->
	<logger name="org.pky.controller">
		<level value="info" />
	</logger>
	<!-- 3rdparty Loggers -->
	<logger name="org.springframework.core">
		<level value="info" />
	</logger>	
	<logger name="org.springframework.beans">
		<level value="info" />
	</logger>
	<logger name="org.springframework.context">
		<level value="info" />
	</logger>
	<logger name="org.springframework.web">
		<level value="info" />
	</logger>
    
    /* 추가
	<logger name="jdbc.audit">
		<level value="warn" />
	</logger>
	<logger name="jdbc.resultset">
		<level value="warn" />
	</logger>
	<logger name="jdbc.connection">
		<level value="warn" />
	</logger>
    */

	<!-- Root Logger -->
	<root>
		<priority value="info" />
		<appender-ref ref="console" />
	</root>
</log4j:configuration>

 

2. 결과 화면

기본 설정의 로그는 info 레벨이기 때문에 warn과 같이 좀더 높은 레벨의 로그만 기록하게 수정하면 테스트 코드를 실행할 때 이전에 비해 로그양이 줄어드는것을 볼 수 있음.

 1) 수정 전

 

 2) 수정 후