当前位置:  开发笔记 > 后端 > 正文

如何在ASP.NET应用程序中记录错误(例外)?

如何解决《如何在ASP.NET应用程序中记录错误(例外)?》经验,为你挑选了2个好方法。

我正在寻找在ASP.NET应用程序中记录错误的最佳方法.我希望能够在我的应用程序中发生错误时收到电子邮件,其中包含有关异常和当前请求的详细信息.

在我的公司,我们曾经拥有自己的ErrorMailer,捕获Global.asax Application_Error中的所有内容.这是"好的"但不是很灵活也不可配置.

我们最近切换到了NLog.它更具可配置性,我们可以为错误定义不同的目标,过滤它们,缓冲它们(尚未尝试).这是一个非常好的改进.

但我最近发现.Net框架中有一个完整的命名空间用于此目的:System.Web.Management,它可以在web.config 的healthMonitoring部分配置.

您曾经使用.Net健康监测吗?您的错误记录解决方案是什么?



1> Dale Ragan..:

我用elmah.它有一些非常好的功能,这里有一篇CodeProject文章.我认为StackOverflow团队也使用了elmah!


去年我写了[ELMAH教程](http://blog.elmah.io/elmah-tutorial/),我认为这个场景比CodeProject文章更详细.

2> Mun..:

我一直在使用Log4net,配置为发送致命错误的详细信息.它还设置为将所有内容记录到日志文件中,这在尝试调试问题时非常有用.另一个好处是,如果该标准功能没有达到您的要求,那么编写一个可以根据需要处理日志记录信息的自定义appender相当容易.

话虽如此,我正在使用它与自定义错误处理程序一起发送一个html电子邮件,其中包含的信息比标准log4net电子邮件中包含的信息要多 - 页面,会话变量,cookie,http服务器变量等.

这些都在Application_OnError事件中连接,其中异常被记录为log4net中的致命异常(然后将其通过电子邮件发送到指定的电子邮件地址),并且还使用自定义错误处理程序进行处理.

首先从Coding Horror博客文章" Crash Responsibly"中了解到了Elmah,虽然看起来很有希望但我还没有实现任何项目.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有