log4j.xml没有将输出写入文件

时间:2017-06-09 18:11:05

标签: java logging log4j

我编写了以下代码,以便在控制台和文件中输出记录器。我能够在COnsole中查看记录器语句,但不能在我指定的myStruts1App.log文件中查看。你可以告诉我下面的代码有什么问题。提前致谢

        <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration debug="true"
        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 HH:mm:ss} %-5p %c{1}:%L - %m%n" />
            </layout>
        </appender>

        <appender name="file" class="org.apache.log4j.RollingFileAppender">
            <param name="append" value="false" />
            <param name="maxFileSize" value="10MB" />
            <param name="maxBackupIndex" value="10" />
            <param name="file" value="C:/logs/myStruts1App.log" />
            <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
            </layout>
        </appender>



        <root>
            <level value="INFO" />
            <appender-ref ref="console" />
        </root>

    </log4j:configuration>

我在我的pom.xml

中使用了以下依赖项
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

1 个答案:

答案 0 :(得分:3)

请再提一个appender-ref。如下图所示。

<root>
     <level value="INFO" />
     <appender-ref ref="console" />
     <appender-ref ref="file" />
</root>

尝试这个