1

アプリケーションで asyncappender を使用しており、その下に 4 つのローリング ファイル アペンダーがあります。使用されているバッファの詳細を取得できません。以下について説明が必要です。

  1. バッファはどのように機能しますか?
  2. バッファ内のイベントがログに記録された後にバッファをフラッシュする方法は?
  3. 構成ファイル (.xml ファイル) を使用してこのフラッシュを行うことはできますか、それとも Java クラスでコーディングする必要がありますか?
4

1 に答える 1

1
  1. ロギングイベントが配置されるキューがあります。キューからイベントを取得し、それを基になるアペンダーに公開するディスパッチャースレッドがあります。

2、3。ある時点でスレッドによって自動的にフラッシュされます。

フラッシュを手動で制御することはできません。実装の詳細であるため、これは仕様によるものだと思います。

非同期アペンダーは、通常は十分に高速に動作するため、ファイルアペンダーには意味がないと思います。その主な目的は、一時的なネットワークの不具合が発生する可能性のあるデータベースまたはSMTPアペンダーをラップアラウンドすることだと思います。

于 2012-04-19T10:21:03.023 に答える