Я написал пользовательский наблюдатель MongoDB с Entlib 5.0 в качестве моего обработчика исключений в своем веб-приложении. Он отлично работает для того, что он создает запись документа для каждой «строки» ниже, в том числе пустых строк, за исключением:Enterprise Library 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 formattter (http://msdn.microsoft.com/en-us/library/ff664587(v=pandp.50).aspx) Я все еще не могу обойти несколько вызовов метода customlistener.Write(), каждый из которых создает новый документ в моей коллекции mongodb.
Мой опыт работы с Entlib ограничен, но я не вижу, как обойти его, если я не напишу весь ExceptionFormatter с нуля. У кого-нибудь есть идеи, как обойти это?