如何在Tomcat中为WebappClassLoader设置日志记录?
我正在尝试根据http://tomcat.apache.org/tomcat-5.5-doc/logging.html在Tomcat中设置日志记录。
我创建的文件Tomcat5的\ COMMON \ \班log4j.properties:如何在Tomcat中为WebappClassLoader设置日志记录?
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
我想看到从方法的loadClass的org.apache.catalina.loader.WebappClassLoader类的痕迹。
但只有org.apache.catalina.loader.WebappLoader的痕迹。
有人能解释为什么没有任何来自WebappClassLoader的痕迹以及如何打开它们?
UPDATE:
isDebugEnabled为WebappLoader返回true,但对于WebappClassLoader返回false。
为什么?
WebappClassLoader在加载Log4J之前被初始化。 因此,为了在Tomcat中为WebappClassLoader设置日志记录,您需要将log4j.jar(和commons-logging.jar?)和loj4j.properties添加到Tomcat将运行的JVM的类路径中。
WebappClassLoader不使用log4j,但是JULI参见例如http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.0/org/apache/catalina/loader/WebappClassLoader.java/ – 0x89 2015-01-12 14:27:01
您已经启用了'DEBUG',而不是'TRACE'。 – adarshr 2012-03-12 11:25:36
是的。我希望看到来自 的痕迹,如果(log.isDebugEnabled()) log.debug(“loadClass(”+ name +“,”+ resolve +“)”); – 2012-03-12 11:37:04