WebアプリケーションでEntlib 5.0を使用してカスタムMongoDBリスナを例外ハンドラとして書きました。それは空行を含め、以下のすべての「ライン」のための文書のエントリを作成しているという事実を除いて素晴らしい作品:私がやりたいのは何エンタープライズライブラリ5.0例外ハンドラ:エラーメッセージからセクションを削除する方法
----------------------------------------
Timestamp: 4/17/2012 4:13:50 PM
Message: HandlingInstanceID: c3c5f58a-89b3-4b64-b05d-3f72f998bab4
An exception of type 'System.NullReferenceException' occurred and was caught.
-----------------------------------------------------------------------------
04/17/2012 16:13:50
Type : System.NullReferenceException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : Object reference not set to an instance of an object.
Source : MyCo.Webservices.TheCoolService
Data : System.Collections.ListDictionaryInternal
TargetSite : System.String TestExceptionHandling()
Stack Trace : at Logging.TestExceptionHandling() in C:\tfs\Development\Source\MyCo.Webservices.TheCoolService\Logging\Logging.cs:line 55
----------------------------------------
はように一つの文書には、この情報の大部分をスローで同じエラーに対して10種類の文書を持たないようにする。私自身のExceptionフォーマッタ(http://msdn.microsoft.com/en-us/library/ff664587(v=pandp.50).aspx)を書いていても、それぞれmongodbコレクションに新しいドキュメントを作成するcustomListener.Write()メソッドに対する複数の呼び出しを回避することはできません。
私のEntlibエクスペリエンスは限られていますが、ExceptionFormatter全体をゼロから書き込まない限り、回避する方法はわかりません。誰もがこれを回避する方法を知っている?