Java 未在web应用程序中使用log4j.xml生成日志文件

Java 未在web应用程序中使用log4j.xml生成日志文件,java,servlets,logging,log4j,Java,Servlets,Logging,Log4j,服务器上未生成日志文件。 服务器显示: log4j:警告:找不到记录器的附加器。 log4j:警告请正确初始化log4j系统 我正在使用log4j.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"

服务器上未生成日志文件。 服务器显示:

log4j:警告:找不到记录器的附加器。 log4j:警告请正确初始化log4j系统

我正在使用log4j.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} |[%t]| %p | %c{1} | %m%n"/>
        </layout>
    </appender>

    <appender name="file"
        class="org.apache.log4j.RollingFileAppender">
        <param name="file" value="../logs/logFile.log"/>
        <param name="append" value="true"/>     
        <param name="maxFileSize" value="32MB" />
        <param name="maxBackupIndex" value="10" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} |[%t]| %p | %c{1} | %m%n"/>
        </layout>
    </appender>
    <root>
        <priority value="DEBUG"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="file"/>  
    </root>
</log4j:configuration>
我的web.xml如下所示:

<context-param>
        <description>log4J initializer</description>
        <param-name>log4jFilePath</param-name>
        <param-value>WEB-INF/log4j.xml</param-value>
    </context-param>
    <listener>
        <listener-class>com.util.Log4jInitializer</listener-class>
    </listener>

log4J初始化器
log4jFilePath
WEB-INF/log4j.xml
com.util.Log4jInitializer
服务器上未生成日志文件。我正在使用Tomcat6部署我的应用程序


有人能帮忙吗?

您的配置是XML,但您使用的是
PropertyConfigurator
。请尝试
DOMConfigurator

有时,您一定看到了错误的路径文件在那里。它正在拾取文件,否则将显示FileNotFoundException。另外,我添加了一个条件来检查文件是否存在,它显示为true。不确定代码为什么不工作。但是,你这样做有什么特别的原因吗?为什么不:a)指定一个指向您的文件的“log4jConfiguration”上下文参数,或者b)将您的文件命名为log4j2.xml并保存在WEB-INF中(log4j会在那里找到它)?谢谢。。。。成功了!!正在创建日志文件,并且日志记录正确。谢谢!!
<context-param>
        <description>log4J initializer</description>
        <param-name>log4jFilePath</param-name>
        <param-value>WEB-INF/log4j.xml</param-value>
    </context-param>
    <listener>
        <listener-class>com.util.Log4jInitializer</listener-class>
    </listener>