我正在编写一个Java / Tomcat webserver应用程序,我需要在其中使用Log4j日志记录。 Java代码具有设置Logger的典型方法,即:
Logger theLogger = Logger.getLogger( "<logger name>" );
我正在尝试使用log4j.properties文件将文件追加器链接到此记录器。该文件的内容是:
log4j.logger.<logger name> = TRACE, LOGFILE
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=trace.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n
如果我的理解是正确的,那么应该在TRACE模式下设置一个将链接到的文件追加器。但是,每当我运行JVM时,我都会得到无法找到appender的输出:
log4j:WARN No appenders could be found for logger (<logger name>).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for
more info.
我正在使用标志-Dlog4j.configuration =&#34;&#34;运行JVM;还有标志-Dlog4j.debug。 log4j调试输出似乎表明无法找到log4j.properties文件:
log4j: Trying to find [<path to log4j.properties>] using context classloader
WebappClassLoader
context:
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@6574b225
.
log4j:WARN No appenders could be found for logger (<logger name>).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for
more info.
log4j: Trying to find [<path to log4j.properties>] using WebappClassLoader
context:
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@6574b225
class loader.
log4j: Trying to find [<path to log4j.properties>]
using ClassLoader.getSystemResource().
log4j: Could not find resource:
[<path to log4j.properties>]
我还有Java Classpath中log4j.properties文件的路径,所以我不确定为什么找不到这个。我的主要问题是找不到appender的原因是因为无法找到log4j.properties文件,或者找不到它,但是log4j.properties的配置有些不正确?
感谢任何帮助,谢谢!