1

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

私は何を間違っていますか?私に見えない何かが間違っていると思いますか?

4

1 に答える 1

1

アペンダーに間違ったクラスを使用しているようです。org.apache.log4j.DailyRollingFileAppender を使用する必要があります (Daily という単語がありません)。

しかし個人的には、log4j.properties の代わりに log4j.xml を使用することを好みます。例えば:

<?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
于 2013-12-19T12:56:59.753 に答える