在开发.Net Web应用程序时,如果生成运行时错误,它会显示一些我在Exception类中找不到的“额外”调试信息。
它显示了一个“源错误”部分,其中显示了一个代码摘录,其中行号显示了错误的生成位置,并显示了“源文件”,即抛出异常的实际页面。
可以以编程方式收集和记录此信息吗?
仅供参考我没有使用错误记录框架,该应用程序只是捕获Global.asax.cs文件中的错误,并将异常内容写入数据库表。也许这就是我出错的地方。如果我需要采用框架来支持高质量的日志记录,请告诉我。
答案 0 :(得分:3)
您应该查看ELMAH项目,它将允许您自动捕获并记录所有未处理的异常,包括记录黄色死亡屏幕。
对于每个错误,以及记录YSOD和堆栈跟踪,它也会记录服务器变量,以便您可以看到http referrer,请求的页面等信息。
它可以记录各种数据库或xml文件中的异常,并在记录时向您发送电子邮件。它可以集成到正在运行的.Net Web应用程序中,而无需更改代码行,只需将条目添加到web.config
即可您还可以以编程方式记录日志中的条目,以便何时捕获异常但仍然记录该异常。
答案 1 :(得分:0)
抛出错误的页面应该在Exception.StackTrace属性
中http://msdn.microsoft.com/en-us/library/system.exception.stacktrace.aspx
我不确定你提到的代码片段来自哪里。
答案 2 :(得分:0)
ELMAH是非常酷的,插入式,未处理的错误记录组件。它甚至可以让你看到死亡的黄色屏幕(包括你所追踪的信息)以及发布数据。