Log4j.xml无法正常工作

时间:2015-02-20 09:31:40

标签: java spring logging intellij-idea log4j

我正在研究java web应用程序。它应该使用log4j。根据标准的maven目录布局,我将log4j.xml放到了

src\main\resources\log4j.xml

然后我按照建议的here

将以下行添加到我的web.xml中
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

当我运行应用程序时(来自IntelliJ IDEA,mvn jetty:run),出现以下控制台消息

2015-02-20 12:11:59.727:INFO:/:Initializing log4j from [classpath:log4j.xml]

找到并加载了证明log4j.xml。

但是 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="consoleAppender" class="org.apache.log4j.ConsoleAppender">
        <param name="Threshold" value="ALL" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p  [%c{1}] %m %n" />
        </layout>
    </appender>

    <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
        <param name="Threshold" value="ALL" />
        <param name="File" value="d:\\MyApp.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p  [%c{1}] %m %n" />
        </layout>
    </appender>

    <root>
        <priority value="DEBUG"/>
        <appender-ref ref="consoleAppender" />
        <appender-ref ref="fileAppender" />
    </root>

</log4j:configuration>

文件 d:\ MyApp.log未创建(执行了log.info调用)。我还尝试了d://MyApp.log,。/ MyApp.log,MyApp.log - 但 log4j并不能在任何地方创建MyApp.log 。非常困惑。错误在哪里?

P.S。

  1. 是的,应用程序具有此位置的写权限。

  2. 典型用法:

    公共类LogExample {     private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class); }

0 个答案:

没有答案