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