Для этого, я думаю, вам нужно будет изменить Elmah source и перекомпилировать. Этого не должно быть слишком сложно. Если вы посмотрите в конструкторе класса Elmah.Error
, передается HttpContext
, из которого вы сможете получить необходимую информацию, например. Сессия, форма переменные и т.д. Вы можете добавить пользовательские поля к Elmah.Error
классу для этих данных
Я думаю Elmah.ErrorMailHtmlFormatter
класс, где электронная почта построена с использованием HtmlTextWriter
, и здесь вы можете вставить код в методе RenderSummary()
чтобы включить в него пользовательские поля, добавленные в Elmah.Error
.
Я знаю, что может возникнуть боль, чтобы начать работать с источником, но лично я считаю, что это самый чистый способ, поскольку в настоящее время нет возможности для создания шаблонов отчетов/электронной почты, и лучше, что закрепить что-то, чтобы изменить результат после него был сгенерирован.