Logback은 계층적 로깅을 따름
Logger의 로깅은 상위 Logger에게 전파됨. 이는 중복 로깅이 될 수 있다는 말이다
예를 들어 아래와 같이 Root logger의 레벨은 INFO로 설정하고, MyBatis 관련 로깅은 DEBUG로 설정한다고 해보자
<logger name="org.mybatis" level="DEBUG" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
org.mybatis 패키지 하위에서 DEBUG 로그를 출력한 뒤 Root logger에도 전파되지만, INFO 레벨에 막혀 출력이 되지 않는다
additivity의 기본값은 true이다
additivity의 값을 false로 설정하면 어떻게 될까?
<logger name="org.mybatis" level="DEBUG" additivity="false" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
false로 설정하면 org.mybatis의 로그는 더이상 출력되지 않는다
이를 출력하기 위해서는 별도의 Appender를 설정해야 한다
<logger name="org.mybatis" level="DEBUG" additivity="false">
<appender-ref ref="MYBATIS_APPENDER" />
</logger>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
'Java > Logging' 카테고리의 다른 글
| Logging > Logback > MyBatis (0) | 2025.02.11 |
|---|