How to configure Log4j for a web application in Tomcat
By default Tomcat uses JDK logging. I used the following log4j.xml [which should go under WEB-INF\classes folder] to enable log4j for a SEAM based web application [infact for any web application] in Tomcat. In Maven please place it under, src\main\resources.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="CONSOLE">
<param name="Target" value="System.out"/>
<layout>
<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
<appender name="FILE">
<param name="File" value="${catalina.base}/logs/yourwebappname.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout>
<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{1}] %m%n"/>
</layout>
</appender>
<root>
<priority value="INFO"/>
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
</root>
</log4j:configuration>
In a Maven based application add the below dependency to include log4j jar.
<dependency> <groupId>apache-log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency>