ローリング ログ ファイルとイベント ログでログを記録するように構成しました。ただし、1 つが失敗すると、2 つ目も成功しません。失敗する前に両方を試すように EntLib を構成する方法はありますか?
2 に答える
ロギング ブロックは、トレース リスナーではなく、カテゴリに基づいて障害を検出します。したがって、カテゴリ内の 1 つのトレース リスナーが失敗した場合、そのカテゴリ内のトレース リスナーはそれ以降実行されません。
ここでの最善の策は、2 つのリスナーを別々のカテゴリに分割することです。
トレース リスナーを処理するロジックは、Enterprise Library の実装の奥深くにあるため、組み込みの構成方法はありません。
1 つの代替方法は、ソース コードをダウンロードして必要な変更を加え、そのカスタム バージョンの Enterprise Library を再構築して使用することです。
もう 1 つの方法は、Unity を使用してカスタム コードを挿入し、エラーが発生した場合に複数のトレース リスナーを処理するロジックを追加することです。Enterprise Library ロジックの多くを再作成する必要がありますが、Enterprise Library ソースを直接変更する必要はありません。後者のアプローチの詳細については、http://randylevy.wordpress.com/2012/04/04/enterprise-library-logging-extensions-part-2/を参照してください。