log4j 애 관하여
글쓴이: mr.lee / 작성시간: 목, 2005/11/17 - 7:05오후
하나의 jeus 서버에 각각 별도의 파일에 로깅이 필요한 서블릿들이 있습니다.
제가 테스트중인 서블릿에서 PropertyConfigurator.configure(filePathName) 를 이용하여 특정 디렉토리에 있는 log4j.properties 를 불러오고 로깅을 하는데요. 테스트중에 다른 서블릿의 로그도 기록된게 보이던데.. 원래 그런가요? 분리할려면 어떻게 하는지요?
log4j 설정파일에서 설정된 내용중 일부입니다.
log4j.rootLogger=DEBUG, test
log4j.appender.test=org.apache.log4j.RollingFileAppender
log4j.appender.test.File=test.log
Forums:
직접 해 본 것이 아니라 도움이 될런지 모르겠습니다.우선은, lo
직접 해 본 것이 아니라 도움이 될런지 모르겠습니다.
우선은, log4j 매뉴얼에 보면 tomcat의 경우 log4j 프로퍼티 파일을 WEB-INF/classes 밑에 위치시키라는 것이 있습니다.
이렇게 했어도 같은 문제가 생기면 다음에 의심해 볼 것은 Spring Framework의 Log4jWebConfigurer에 있는대로 tomcat 같은 container는 프로퍼티 파일을 웹 어플리케이션 당으로 분리하지를 않고, resin 같은 container는 그렇게 한다라고 한 점입니다. (jeus는 전자에 해당할 듯 싶습니다.) 그래서 Log4jWebConfigurer를 쓸 때 tomcat을 위해서는 각각의 웹 어플당 "webAppRootKey" context-params을 주어야 한다는 것이 있습니다.
Tmax에 문의할 사항이겠지만, 다음의 소스를 보는 것도 도움이 될 듯 합니다.
http://cvs.sourceforge.net/viewcvs.py/springframework/spring/src/org/springframework/web/util/
----
I paint objects as I think them, not as I see them.
atie's minipage
[code:1]log4j.rootLogger=DEBUG, test l
이 설정이 같이 적용된 상황에서 Logger.getRootLogger를 이용해 Logger를 얻어와 쓰셨다면 당연한 결과 입니다.
같은 설정파일내에 다른 로거를 정의 하시고 Logger.getLogger(Class)나 Logger.getLogger(String)을 이용해 각각 다른 로거를 얻어와 쓰셔야 분리된 로깅을 하실 수 있습니다.
-- Signature --
青い空大好き。
蒼井ソラもっと好き。
파란 하늘 너무 좋아.
아오이 소라 더좋아.
두분 답변들 감사합니다.참고해서 해답을 찾으면 될 듯 하네요.
두분 답변들 감사합니다.
참고해서 해답을 찾으면 될 듯 하네요.
댓글 달기