ログファイルの出力時に日付で分割する方法をlog4jで設定する方法

ログ4jで日付ごとにログファイルを生成するには、log4jのDailyRollingFileAppenderを使用します。

まず、log4jの設定ファイル(通常はlog4j.propertiesまたはlog4j.xml)で以下を追加します。

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File=logFile.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.rootLogger=INFO, file

上記の構成では、log4j.appender.fileがDailyRollingFileAppenderを使用してログファイルを生成することを指定し、log4j.appender.file.DatePatternで日付のフォーマットを指定し、log4j.appender.file.Fileでログファイルのパスと名前を指定している。

ログのフォーマットは、必要に応じてlog4j.appender.file.layout.ConversionPatternを調整することでカスタマイズできます。

次に、コード中でlog4j の Logger を用いてログを出力します。

import org.apache.log4j.Logger;

public class MyClass {
    private static final Logger logger = Logger.getLogger(MyClass.class);

    public static void main(String[] args) {
        logger.info("This is a log message");
    }
}

これにより、log4j は毎日 0 時に自動的に新しいログファイルを作成し、ファイル名には現在の日付が含まれます。たとえば、今日が 2022 年 1 月 1 日の場合、生成されるログファイル名は logFile.log.2022-01-01 になります。

bannerAds