【发布时间】:2025-12-12 12:50:02
【问题描述】:
我有另一个正在工作的 ASP.Net Web 项目,我已经从不同的角度进行了错误处理。我只是想知道是否有经验丰富的开发人员有任何建议。
关于 ASP.net 的良好日志记录框架的讨论加分:)
【问题讨论】:
我有另一个正在工作的 ASP.Net Web 项目,我已经从不同的角度进行了错误处理。我只是想知道是否有经验丰富的开发人员有任何建议。
关于 ASP.net 的良好日志记录框架的讨论加分:)
【问题讨论】:
这取决于您的应用程序所针对的环境。但是我所做的是在 web.config 的 customErrors 部分中重定向到一个通用的 ErrorHandler.aspx 页面,然后我不处理和隐藏的任何异常都会导致页面重定向到允许错误处理程序的错误处理程序用户知道发生了什么,并允许他们选择报告。
我建议从 System.Exception 派生一些内容,以便您为 ErrorHandler.aspx 页面指定更多细节,例如 FriendlyMessage 属性。
【讨论】:
我使用 Application_Error() 事件来获取未处理的异常。我使用 Application.Log() 方法将它们写入日志,然后将它们重定向到用户友好的错误页面。
Application.Log() 可以使用 web.config 文件进行配置,以将输出定向到文件、服务器上的事件日志等。
在某些情况下,我还使用通用 TraceSource 和将消息记录到数据库表的自定义侦听器实现了自己的日志记录。
【讨论】:
我使用了 ELMAH,(错误记录模块和处理程序)是一个应用程序范围的错误记录工具,它是完全可插拔的,在多个项目中运行良好: http://code.google.com/p/elmah/
我还使用了 ASP.NET 2.0 中的内置健康监控: http://msdn.microsoft.com/en-us/library/ms998306.aspx
【讨论】: