2017-12-09 10 views
1

私はlog4j2ロガーを使用するSpringBootアプリケーションを持っています。私がやろうとしているのは、次のような、ロガーからの "健康"情報を得ることです:次の行を記録することができるか、または十分なスペースが残っていますか?それは正しく動作していますか?私は物事log4j2は、このチェックを行うが、私はどこを見つけることができません。私はlog4j2がFailOverアペンダ経由で独自のエラー処理を持っていることを知っていますが、自分自身のエラーハンドラを実装したいのです。 ディスクがいっぱいになり、それ以上の行を記録できない場合は、アプリケーションをシャットダウンします。log4j2健康情報とエラー処理

だから私は、ログイベントの前にいくつかの事前チェックを必要とするもの、およびロガーが自身でこれらのチェックを行う場合、私はlog4j2における標準アペンダを書き込む前にチェックを実行しないこれらの情報

答えて

1

を必要としています。それらは高価であり、ログレコードが書き込めるとは保証しません。

0

Log4j2はRalphの回答に加え、監査ログフレームワークとして設計されています。これは、ロギングがアプリケーションにとって重要である場合、ロギングが失敗した場合にアプリケーションが失敗するような場合に、Log4j2がこれを実行できることを意味します。

組み込みのappendersはすべてこの目的のために構成属性ignoreExceptionsを持っています。マニュアルから:

デフォルトはtrueです。イベントを追加する際に例外が発生し、内部でログに記録されてから無視されます。 falseに設定すると、例外が呼び出し元に伝播されます。

関連する問題