tomcat + spring framework logging system 분석

20 Jan 2014

[1] 흐름

톰켓 + 스프링 + log4j 를 사용할 경우 스프링이 출력한 로그는 아래 같은 모듈간 흐름을 거쳐 로그가 발생하게 된다.

Spring > jcl-over-slf4j > SLF4J > slfj-log4j > log4j

스프링은 최초 로깅을 할때 META-INF/services/org.apache.commons.logging.LogFactory 에 등록된JCL 구현을 찾는다.

JCL 구현의 하나인 jcl-over-slf4j.jar 파일이 META-INF/services/org.apache.commons.logging.LogFactory 세팅을 가지고 있으므로, 별다른 설정 없이도 jcl-over-slf4j.jar 파일만 등록되어 있으면 JCL이 로딩된다.

[2] 용어 설명.

1. JCL =(Jakarta) Commons Logging

2. SLF4J = Simple Logging Facade for Java

3. log4j

[3] 톰켓 자체 로그 관련.

참고로 톰켓은 JULI 라고 부르는 로깅 모듈을 구현하여 사용한다.

JULI = java.util.logging Implementation

이걸 log4j 로 리다이렉션 하는 방법은 아직 찾지 못했다. 누가 좀 알려주세요.. 🙂