본문 바로가기

others

Logging in Tomcat with Log4j

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에 걸려 있다면 다음과 같이 명령을 주면 된다.

 

C:\apache-tomcat-6.0.16-src>ant -file extras.xml

 

$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