我正在将 Elmah 与 ASP.NET 一起使用,并且想知道如何将自定义数据(例如会话变量)添加到未处理的异常电子邮件中。
我在 Global.asax 文件中尝试了几个处理程序,但似乎找不到合适的处理程序。
为此,我认为您需要修改 Elmah源代码并重新编译。实现起来应该不会太难。如果您查看Elmah.Error
类的构造函数,HttpContext
则传入,您应该能够从中获取所需的信息,例如会话、表单变量等。您可以将自定义字段添加到Elmah.Error
该数据的类中
我认为Elmah.ErrorMailHtmlFormatter
该类是使用 构建电子邮件的地方HtmlTextWriter
,在这里您可以在方法中插入代码RenderSummary()
以包含您添加到的自定义字段Elmah.Error
。
我知道开始使用源代码可能会很痛苦,但我个人认为这是最干净的方式,因为目前没有报告/电子邮件模板的工具,最好在生成后用螺栓改变输出。
安德鲁的回答很有帮助,谢谢。我最终做了以下事情: