如何在Tomcat for WebappClassLoader中设置日志记录?

时间:2012-03-12 11:01:08

标签: java tomcat log4j classloader

我正在尝试根据http://tomcat.apache.org/tomcat-5.5-doc/logging.html设置Tomcat中的日志记录 我创建了文件 Tomcat5 \ common \ classes \ log4j.properties

log4j.rootLogger=WARN, R 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=${catalina.home}/logs/tomcat.log 
log4j.appender.R.MaxFileSize=500MB 
log4j.appender.R.MaxBackupIndex=10 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

log4j.logger.org.apache.catalina.loader=DEBUG, C
log4j.appender.C=org.apache.log4j.RollingFileAppender 
log4j.appender.C.File=${catalina.home}/logs/cl.log 
log4j.appender.C.MaxFileSize=500MB 
log4j.appender.C.MaxBackupIndex=10 
log4j.appender.C.layout=org.apache.log4j.PatternLayout 
log4j.appender.C.layout.ConversionPattern=%p %t %c - %m%n

我希望看到 org.apache.catalina.loader.WebappClassLoader 类的方法 loadClass 的痕迹。
但是只有来自 org.apache.catalina.loader.WebappLoader 的痕迹。

有人可以解释为什么 WebappClassLoader 没有任何痕迹以及如何启用它们?

更新
WebAppLoader的isDebugEnabled返回true,但是对于WebappClassLoader,返回false。 为什么呢?

1 个答案:

答案 0 :(得分:0)

在加载Log4J之前初始化WebappClassLoader。 因此,要在Tomcat for WebappClassLoader中设置日志记录,您需要将log4j.jar(和commons-logging.jar?)和loj4j.properties添加到JVM的类路径中,以便Tomcat运行。