1

Java アプリケーションで log4j を使用しています。maxsize (最大 1Mb) と 15 日後に自動削除の両方を設定したい。

# Root logger option
log4j.rootLogger=INFO, file

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=15
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

しかし、log4j では 2 つの要件の両方を構成できないようですよね?

どうすればできますか?すべてに感謝します。

4

2 に答える 2

1

構成は問題ありません。テストするには、MaxFileSize を 1KB に変更し、次のコードを実行します。

public class LogTest {
    static Logger log = Logger.getLogger("LogTest");

    public static void main(String[] args)
    {
        PropertyConfigurator.configure("log4j.properties");//file should be in classpath
        for (int i = 0; i < 20000; i++)
            log.info("test");

            System.out.println("Done");

    }
}

完了すると、loging.txt と logging.txt.1 から logging.txt.15 までの合計 16 個のファイルが作成されます。

于 2013-04-25T10:59:03.603 に答える