728x90
반응형
SMALL
안녕하세요.
#yeoneeblog 여니입니다:)
logger는 기본적으로 정의한 패키지의 조상으로부터 모든 appender을 상속받습니다.
다음과 같이 두개의 logger가 같은 appender를 사용한다면 같은 메시지가 두번 찍히는 것을 확인할 수 있습니다.
<logger name="org.springframework">
<level value="DEBUG">
<appender-ref="CONSOLE"/>
</logger>
<root>
<level value="DEBUG">
<appender-ref ref="CONSOLE"/>
</root>
<변경 전>
2개의 logger가 같은 appender를 사용하면, 로그가(동일한 메시지가) 중복으로 출력됩니다.
이때, 둘 중 하나의 로거에 additivity=false 로 변경해주면, 중복적인 출력이 방지됩니다.
<logger name="org.springframework" additivity="false">
<level value="DEBUG">
<appender-ref="CONSOLE"/>
</logger>
<root>
<level value="DEBUG">
<appender-ref ref="CONSOLE"/>
</root>
<변경 후>
결과적으로 log4j의 additivity 속성은 상위 appender를 상속받는 것을 제어할 수 있게 해주는 옵션입니다.
+ 추가 사례
<logger name="com.a" additivity="true">
<level value="DEBUG" />
<appender-ref ref="test_file" />
</logger>
<logger name="com.a.b.c" additivity="false">
<level value="DEBUG" />
<appender-ref ref="test_file" />
<appender-ref ref="test_console" />
<appender-ref ref="test_package" />
</logger>
additivity="false" 를 true로 설정하게 되면, com.a.b.c 소스에 대한 로그가 test_file 에 2번 찍히게 됩니다.
따라서, false 로 설정해주어 중복 로깅 방지처리가 필요합니다.
+참조 사이트
728x90
반응형
LIST
'⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆ > Spring' 카테고리의 다른 글
[SpringBoot] 필드주입 -> 생성자 주입 방식으로 변경 (Spring Controller) (1) | 2023.10.20 |
---|---|
[SpringBoot] 로그 레벨(Log Level)이란? 로그레벨 설정하기 (0) | 2023.10.19 |
[SpringBoot] @Controller와 @RestController 차이점 (1) | 2023.10.19 |
[SpringBoot] 로그설정 - log4j2 (1) | 2023.10.19 |
[Springboot] Springboot 프로젝트 생성 및 셋팅하기 (1) | 2023.09.24 |