2

カスタム log4j アペンダーを作成していますが、(データベース) アペンダーが失敗した場合に備えて、別の構成済みアペンダーをフォールバックとして使用したいと考えています。

アペンダーの構築順序を保証するにはどうすればよいですか? 私のアペンダーのactivateOptions()メソッドは別のアペンダーにアクセスしようとしましたが、まだ構築/登録されていないため失敗しました。

4

3 に答える 3

1

XMLで構成ファイルを使用している場合は、XMLファイルでのアペンダーの宣言の順序が重要であるという事実を利用できます。最初に宣言されたアペンダーが最初に構成されます。.properties形式の構成ファイルを使用している場合、それらの構成の順序は、ロガー(別名カテゴリー)によって参照される順序によって異なります。最初に参照されるアペンダーが最初に構成されます。

また、log4jの後継であるlogbackも見ることができます。これは非常によく文書化されています。

于 2009-08-10T21:48:04.383 に答える
1

2 番目のアペンダーの構成オプションをカスタム アペンダーの構成に移動/コピーしてから、カスタム アペンダー内に 2 番目のアペンダーを自分で作成することをお勧めします。

于 2009-08-10T07:37:04.427 に答える
0

やりたいことを行う方法がないことが判明した場合は、構成を log4j に任せるのではなく、「プライマリ」アペンダー内から「フォールバック」アペンダーを作成して構成できます。あまり良い解決策ではありませんが、それ以外の方法でアペンダー間に依存関係を追加する方法を知りません。

于 2009-08-10T07:32:19.553 に答える