ASP.NET异常处理/日志记录
有没有简单的方法来记录ASP.NET应用程序中的所有异常?我已经通过Application_OnError事件记录了未处理的异常,但即使在页面级别处理异常时,我也要执行日志记录。ASP.NET异常处理/日志记录
非常感谢。
假设您只是抛出并捕获自己的异常类型(从System.Exception ofc派生),您可以在构造函数中创建基本异常日志。
我不认为有自动记录处理的异常。如果你已经为未处理的异常做了Application_OnError日志记录,恐怕Colin是正确的,你将不得不在catch块中调用你想要登录的异常处理异常的日志记录组件。
ASP.NET健康监测做到这一点优雅而相当自动的方式(无需手动捕获异常):
当您单击第一个链接,有一个如何启用和配置ASP.NET Health Monitoring的例子。您需要在web.config文件中配置它。
用于登录到一个数据库,您可以使用ASP.NET SQL Server注册工具可以创建corresponsing表:ASP.NET SQL Server Registration Tool (Aspnet_regsql.exe)
我真的很喜欢它。对于手动日志记录来说,patterns & practices Enterprise Library's Logging Application Block可能适合你,但这有些偏离主题。
马蒂亚斯
我同意科林,你应该记录,无论你赶上(不重新抛出)。但是如果你需要记录每一个没有太多代码修改的异常,然后处理AppDomain.FirstChanceException Event,你会得到所有的异常(也许这太多了:p,但它可以帮助你清理代码)。
你的意思是抓住它,或使用Page_Error或其他东西?请更具体一些。 – RichardOD 2009-07-15 07:44:52
通过捕捉来处理。 – staterium 2009-07-15 07:48:13