2012-03-12 98 views
3

我正在嘗試根據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 

我想看到從方法的loadClassorg.apache.catalina.loader.WebappClassLoader類的痕跡。
但只有org.apache.catalina.loader.WebappLoader的痕跡。

有人能解釋爲什麼沒有任何來自WebappClassLoader的痕跡以及如何打開它們?

UPDATE:
isDebugEnabled爲WebappLoader返回true,但對於WebappClassLoader返回false。
爲什麼?

+0

您已經啓用了'DEBUG',而不是'TRACE'。 – adarshr 2012-03-12 11:25:36

+0

是的。我希望看到來自 的痕跡,如果(log.isDebugEnabled()) log.debug(「loadClass(」+ name +「,」+ resolve +「)」); – 2012-03-12 11:37:04

回答

0

WebappClassLoader在加載Log4J之前被初始化。 因此,爲了在Tomcat中爲WebappClassLoader設置日誌記錄,您需要將log4j.jar(和commons-logging.jar?)和loj4j.properties添加到Tomcat將運行的JVM的類路徑中。

+0

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