ログのためにlog4j 1.2を使用することから、log4j 2を使用することへのJavaプロジェクトの移行に取り組んでいます。
log4j 1.xには、org.apache.log4j.DailyRollingFileAppender
私のプロジェクトのlog4j.properties構成ファイルに記載されているクラスがあります。同じ名前のクラスがDailyRollingFileAppender
log4j 2に存在しなくなりました。DailyRollingFileAppender
の役割は、log4j 2の他のクラス、または代替の構成や実装で置き換えることができるのでしょうか。
移行ガイドでは、アプリケーションがAppender
s などのlog4j 1.xの内部のメソッドやクラスにアクセスして、log4j 2に移行できないようにする必要があることを強調しています。しかし、移行を行うには、何ができるのDailyRollingFileAppender
でしょうか。いくつかのカスタム構成、またはlog4j 2のクラスの組み合わせで置き換えることはできますか?移行ガイドにはいくつかの設定例がありますが、特にはありますFileAppender
が、どうDailyRollingFileAppender
ですか?それは基本にかなり近いものですFileAppender
:
以下からのlog4j 1.2 API Javadocのクラスorg.apache.log4j.DailyRollingFileAppender
DailyRollingFileAppenderはFileAppenderを拡張して、基になるファイルがユーザーが選択した頻度でロールオーバーされるようにします。DailyRollingFileAppenderは、同期の問題とデータ損失を示すことが確認されています。log4jエキストラコンパニオンには、新しいデプロイメントを検討する必要がある代替案が含まれており、org.apache.log4j.rolling.RollingFileAppenderのドキュメントで説明されています。
RollingFileアペンダーを探しています
<RollingFile name="DAILY_LOG" fileName="log/daily.log"
filePattern="log/%d{ddMMyyyy}_daily.log"
>
<PatternLayout pattern="%d [%7r] %5p - %c - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1"/>
</Policies>
</RollingFile>
前のサンプルは1日ごとにロールオーバーされ、間隔は1単位です。これは、ファイルパターンの日付ルックアップの最小単位によって決定されます。つまり、日付パターンがのd{MMyyyy}
場合、interval = 1は1か月のロールオーバー期間に対応します。
現在、特定の日付や経過時間を超えて保持されるログファイルの数を制限することはサポートされていないことに注意してください。制限できるのは、期間ごとのログファイルの数のみです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加