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