Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Log4j.xml不工作_Java_Spring_Logging_Intellij Idea_Log4j - Fatal编程技术网

Java Log4j.xml不工作

Java Log4j.xml不工作,java,spring,logging,intellij-idea,log4j,Java,Spring,Logging,Intellij Idea,Log4j,我正在研究java web应用程序。它应该使用log4j。根据标准的maven目录布局,我将log4j.xml放在 src\main\resources\log4j.xml 然后,我按照建议将以下行添加到我的web.xml中: 这证明找到并加载了log4j.xml 但是log4j.xml中的所有规则都不起作用 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.d

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

src\main\resources\log4j.xml
然后,我按照建议将以下行添加到我的web.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.

  • 是,应用程序在此位置具有写入权限

  • 典型用法:

    公共类日志示例{ 私有静态final org.apache.log4j.Logger log=org.apache.log4j.Logger.getLogger(LogExample.class); }


  • log4j.xml非常完美,我试过了,可以在日志文件中看到日志语句。你有没有试过放一些日志语句,比如log.debug(“Hello World”),我在代码中有很多log.debug()、log.info()、log.error()语句。你看到控制台输出的日志了吗?
    2015-02-20 12:11:59.727:INFO:/:Initializing log4j from [classpath: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>