2

SLF4J / Logbackの組み合わせを使用して、ロギングを実行しています。私たちが持っている要件の1つは、何かが失敗した場合、最後の500のログメッセージを含む電子メールをsupport/devグループに送信することです。

ドキュメントを調べようとしましたが、関連するものが見つかりませんでした。

アプローチの1つは、現在のログファイル名を取得し、ファイルを読み取り、最後の500レコードを送信することだと思います。しかし、現在のログファイル名を取得する方法がわかりません。誰かが方法を知っていますか?またはログテールを取得するための他のより良いオプションはありますか?

ありがとう

4

2 に答える 2

3

Log4jSMTPAppenderには必要な機能があるようです。Logbackに同様のアペンダーがない場合は、そのソースコードをモデルとして見て、独自の実装をガイドすることができます(これは多少驚くべきことです)。

基本的に、この電子メールアペンダーにはログイベントのリングバッファーがあります。トリガーイベント(デフォルトでは、ERRORレベル以下のイベント)が発生すると、バッファーが電子メールにフラッシュされて送信されます。

于 2011-04-22T18:10:13.893 に答える
0

最後の500ログメッセージをキャッシュするカスタムアペンダーを作成します。このキャッシュからコンテンツを読み取ることにより、 SMTPAppenderを拡張して電子メールを撮影できます。

ここから始めましょう

于 2011-04-22T18:12:29.697 に答える