logback.groovy
ファイルで設定されたlogbackを使用して、アプリケーションのログを管理しています。私はしたい:1つのログファイルを使用して古いログファイルを削除するLogback FileAppender
- アプリケーションの起動時にタイムスタンプを付けられ、アプリケーションの寿命のための単一のログファイルとして保持されるログファイルを作成します。 (アプリケーションの複数のインスタンスが同時に実行されている場合や、複数のインスタンスが1日のうちに実行され、数日間実行されている場合があります)。
- クリーンなログファイルディレクトリを保持します。指定された期間より古いものは削除されます。
最初を達成することは、次の線に沿って、FileAppender
を使用することをお勧めし - しかし、これは古いログファイルを削除しません:
appender("FILE", FileAppender) {
file = "path/to/log/dir/log_file_${date}.log"
}
は、第二の達成TimeBasedRollingPolicy
でRollingFileAppender
を使用することをお勧めし、ログファイルを7日間保存する次の行に沿って説明します。の利益を得る - すなわち、私は私のケーキを持つことができますどのように
appender("FILE", RollingFileAppender) {
rollingPolicy(TimeBasedRollingPolicy) {
fileNamePattern = "path/to/log/dir/log_file_%d{yyyyMMdd}.log"
maxHistory = 7;
}
}
をし、それを食べる:しかし、これは、アプリケーションが実行されたときに関係なく、指定した日にアプリケーションのすべてのインスタンスを記録するための1つのファイルを使用します。アプリケーションごとに1つのログファイル(起動時のタイムスタンプ付き)が、RollingFileAppender
/TimeBasedRollingPolicy
の履歴クリーンアップの利点を備えていますか?