Log4j - 无法使用log4j.properties将appender链接到logger

时间:2015-01-29 19:44:25

标签: java logging log4j

我正在编写一个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的配置有些不正确?

感谢任何帮助,谢谢!

0 个答案:

没有答案