Log4j 1.2未登录RollingFileAppender

时间:2013-12-19 09:29:04

标签: spring log4j rollingfileappender

我的Spring(3.2.5)独立应用程序中的Log4J(版本1.2.17)配置.properties文件存在问题。

这是我的配置文件,登录到控制台工作正常,但RollingFileAppender不会将消息附加到logs/application_log.file。我试图改变几乎所有内容 - 文件名,ConversionPattern,手动创建文件并设置文件系统权限(OS X Mavericks)以便写入所有内容但没有任何作用。

log4j.rootLogger=INFO,CA,FA

#Console Appender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%d{ISO8601} %-5p [%c:%L] - %m%n

#Rolling File Appender    
log4j.appender.FA=org.apache.log4j.RollingFileAppender
log4j.appender.FA.File=logs/application_log.log
log4j.appender.FA.MaxFileSize=50MB
log4j.appender.FA.layout.ConversionPattern=%d{ISO8601} %-5p [%c:%L] - %m%n
log4j.appender.FA.Append=true
log4j.appender.FA.MaxBackupIndex=10
log4j.appender.FA.layout=org.apache.log4j.PatternLayout

我做错了什么?你看到我看不到的错误吗?

1 个答案:

答案 0 :(得分:1)

看起来你正在为你的appender使用错误的类。你应该使用org.apache.log4j.DailyRollingFileAppender(你每天都缺少单词)。

但我个人更喜欢使用log4j.xml而不是log4j.properties。例如:

<?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="log-app" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="C:/Temp/my-log.log"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>

        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
        </layout>
    </appender>

    <root>
        <level value="debug"/>
        <appender-ref ref="log-app"/>
    </root>

</log4j:configuration>

jUnit测试:

import org.apache.log4j.Logger;
import org.junit.Test;

public class FakeTest {
    private final static Logger log = Logger.getLogger(FakeTest.class);

    @Test
    public void testTestMe() throws Exception {
        log.debug("Debug message");
        log.error("Error message");

    }
}

my-app.log中的结果:

2013-12-20 09:40:40,589 [main] DEBUG my.package.FakeTest - Debug message
2013-12-20 09:40:40,589 [main] ERROR my.package.FakeTest - Error message