Могу ли я изменить исключения до того, как Elmah внесет их в журнал?

Я использую Elmah в приложении WebForms и хотел бы иметь возможность изменять исключение до того, как Elmah его зарегистрирует. В моем сценарии есть исключения, создаваемые некоторыми из моих компонентов зависимостей, которые имеют множество настраиваемых InnerExceptions с деталями, которые игнорирует Elmah. Поэтому я хотел бы иметь возможность перебрать InnerExceptions и добавить текстовые детали к основному исключению непосредственно перед тем, как Elmah его зарегистрирует.

Я вижу, как бы полностью отфильтровать исключения, но не похоже, что я мог бы изменить исключение и по-прежнему разрешить его регистрацию. Любые идеи?


person BrettRobi    schedule 07.11.2011    source источник


Ответы (2)


Могли бы вы обрабатывать свои исключения вместо того, чтобы оставлять их необработанными, чтобы ELMAH мог автоматически подбирать их, и создавать настраиваемое исключение с некоторым свойством, которое ELMAH считывает переопределенным, чтобы отображать то, что вы хотите от ваших настраиваемых свойств исключения? например Сообщение

ErrorSignal.FromCurrentContext().Raise(...)
person tomfanning    schedule 24.01.2012

Мы решили эту проблему, локально разветвив Elmah и добавив код для перебора исключений в соответствии с предложениями в этом выпуске Elmah:

http://code.google.com/p/elmah/issues/detail?id=162&can=1&q=data

Создание нашей собственной версии также позволило нам добавить пару других вещей, которые текущая версия Elmah не предоставляет из коробки.


Кроме того, следующая версия Elmah находится в разработке - кажется, есть существенные изменения по крайней мере в части кодовой базы - поэтому мне нужно будет еще раз вернуться к этой проблеме и другим нашим дополнительным требованиям к журналированию, как только она будет выпущена.

person Murph    schedule 19.03.2012