Tomcat 사용시 찍히는 로그는 default로 JDK의 java.util.logging을 사용하고 있으나, log4j를 사용해서 찍고 싶은 생각이 들었다. Tomcat 홈페이지에 가서 검색해보니 방법이 나와 있었다.
Tomcat 버전은 6.0.16 이다.
http://tomcat.apache.org/tomcat-6.0-doc/logging.html
① log4j.properties파일을 $CATALINA_HOME/lib에 만들어 넣는다. log4j.xml을 넣어도 상관없다.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy.M.d. a h:mm:ss} %l %n%p : %m%n" />
</layout>
</appender>
<appender name="DAILYROLLINGFILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="append" value="false"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="file" value="${catalina.home}/logs/tomcat.log "/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy.M.d. a h:mm:ss} %l %n%p : %m%n" />
</layout>
</appender>
<!-- Priority: DEBUG, INFO, WARN, ERROR, FATAL -->
<root>
<level value="INFO"/>
<appender-ref ref="CONSOLE"/>
<!--
<appender-ref ref="DAILYROLLINGFILE"/>
-->
</root>
</log4j:configuration>
② 1.2버전 이상의 log4j를 다운받아 log4j-1.2.**.jar $CATALINA_HOME/lib에 넣는다. commons-logging.jar는 필요없어 보이지만 같이 넣어준다. 로깅 구현체가 바뀌어도 소스 수정할 필요가 없음으로 로깅시 기본적으로 commons-logging을 이용하게는게 좋은 방법인거 같다.
③ Tomcat 홈페이지에서 소스파일을 내려받은 후 extras.xml파일을 이용해 ant로 bulild를 한다. build를 진행하면 output/extras/tomcat-juli.jar, output/extras/tomcat-juli-adapters.jar 파일이 생성된다. ant가 path에 걸려 있다면 다음과 같이 명령을 주면 된다.
④ $CATALINA_HOME/bin/tomcat-juli.jar 파일을 build한 output 폴더에 있는 파일로 바꾼다(overwrite).
⑤ $CATALINA_HOME/lib 폴더에tomcat-juli-adapters.jar을 넣어준다.
Tomcat을 다시 시작하면 log4j.xml 설정에 따라 로깅이 되는모습을 볼 수 있다.
혹시 몰라 tomcat-juli.jar, tomcat-juli-adapters.jar 첨부한다.
'others' 카테고리의 다른 글
JEUS5 webadmin 비밀번호 변경 (0) | 2009.01.22 |
---|---|
JEUS5 webadmin port찾기 (0) | 2009.01.22 |
Log4j의 additivity 옵션 (0) | 2008.01.07 |
서블릿 보안 3 (0) | 2007.11.22 |
서블릿 보안 2 (0) | 2007.11.22 |