2017-09-14 10 views
0

log4j RollingFileAdapterで深夜のログファイル名を変更しないように設定できますか?私が使用している設定では、ロギングが2017-09-15で開始し、00:00以降のすべてが夜間に続き、別のログファイル2017-09-16に記録されます。同じファイルに完全にログインしたいのですが。 2017-09-16で別の実行が開始された場合にのみ、新しいログが作成されます。Log4J:深夜12時以降にログファイルを保存する方法

<appender name="file-output" class="org.apache.log4j.rolling.RollingFileAppender"> 
    <param name="ImmediateFlush" value="false"/> 
    <param name="Threshold" value="INFO"/> 
    <rollingPolicy name="file" class="org.apache.log4j.rolling.TimeBasedRollingPolicy"> 
     <param name="FileNamePattern" value="log/${logfilename}_%d{yyyy-MM-dd}.log"/> 
    </rollingPolicy> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %m%n"/> 
    </layout> 
</appender> 
+0

https://stackoverflow.com/a/36496683/3635454 – pleft

+0

[log4jでの1回の実行で1つのログファイル](https://stackoverflow.com/questions/19132433/one-logfile-per-run-with)の可能な複製-log4j) – pleft

答えて

0

あなたはdonotを必要としないように聞こえるファイルアペンダーをROTATEします。

あなたの状況では、normarlファイルアペンダーを使用することをお勧めします。これにより、すべてのログレコードが1つのファイルになります。 "yyyy-MM-dd.log"のような日付パターンで名前を付けるだけです。

ps:回転させたい場合は、logrorateツールをLinuxでも使用することをお勧めします。

関連する問題