Tomcat内建的是jdk的logging来跟踪日志,配置在$TOMCAT_HOME/conf/logging.properties.
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers=1catalina.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/projecta].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers=1catalina.org.apache.juli.FileHandler
如果要Tomcat(不是仅仅某个app)改用Log4j,根据Tomcat官方网站介绍,需要用Juli-Adapters来实现(http://tomcat.apache.org/tomcat-7.0-doc/logging.html)。
把Tomcat编译得到(Ant 1.8.2:(http://ant.apache.org/bindownload.cgi),Tomcat 7 Source:(http://tomcat.apache.org/download-70.cgi); ant extras)的extras目录下的tomcat-juli.jar覆盖$TOMCAT_HOME/bin里,tomcat-juli-adapters.jar复制到$TOMCAT_HOME/lib里, log4j.jar和common-logging.jar到$TOMCAT_HOME/lib,在$TOMCAT_HOME/lib放置log4j.properties/log4j.xml即可实现log4j来记录程序日志了。
tomcat-juli.jar,tomcat-juli-adapters.jar(extras)
tomcat-juli.jar to override tomcat.home/bin.
tomcat-juli-adapters.jar to tomcat.home/lib.
log4j to tomcat.home/lib
log4j.properties/log4j.xml to tomcat.home/lib
mv conf/logging.properties conf/logging.properties.bak
如果只是某个web application需要用log4j而tomcat本身还延用JDK logging的话,只需要log4j/common-logging/log4j配置在CLASSPATH里能找到即可实现。如果log4j配置不止一个,会层叠效果,如果重复项,会后者覆盖前者(classpath顺序而定)。