错误记录:源错误和源文件

时间:2009-05-07 21:11:56

标签: .net error-handling

在开发.Net Web应用程序时,如果生成运行时错误,它会显示一些我在Exception类中找不到的“额外”调试信息。

它显示了一个“源错误”部分,其中显示了一个代码摘录,其中行号显示了错误的生成位置,并显示了“源文件”,即抛出异常的实际页面。

alt text

可以以编程方式收集和记录此信息吗?

仅供参考我没有使用错误记录框架,该应用程序只是捕获Global.asax.cs文件中的错误,并将异常内容写入数据库表。也许这就是我出错的地方。如果我需要采用框架来支持高质量的日志记录,请告诉我。

3 个答案:

答案 0 :(得分:3)

您应该查看ELMAH项目,它将允许您自动捕获并记录所有未处理的异常,包括记录黄色死亡屏幕。

对于每个错误,以及记录YSOD和堆栈跟踪,它也会记录服务器变量,以便您可以看到http referrer,请求的页面等信息。

它可以记录各种数据库或xml文件中的异常,并在记录时向您发送电子邮件。它可以集成到正在运行的.Net Web应用程序中,而无需更改代码行,只需将条目添加到web.config

即可

您还可以以编程方式记录日志中的条目,以便何时捕获异常但仍然记录该异常。

完整详情位于ELMAH网站和getting started guide on the Elmah.io site

答案 1 :(得分:0)

抛出错误的页面应该在Exception.StackTrace属性

http://msdn.microsoft.com/en-us/library/system.exception.stacktrace.aspx

我不确定你提到的代码片段来自哪里。

答案 2 :(得分:0)

ELMAH是非常酷的,插入式,未处理的错误记录组件。它甚至可以让你看到死亡的黄色屏幕(包括你所追踪的信息)以及发布数据。