ASP.NET Health Monitoring或ELMAH有哪些选择?

时间:2011-10-12 18:42:01

标签: c# asp.net logging elmah

带有SQL Server 2008 R2的C#中的net 4。

我需要为我的Web应用程序选择错误记录解决方案。

我在这个主题上阅读了一些文章ELMAHASP.NET Health Monitoring,但我想就您在真实世界的应用程序中更喜欢哪个系统以及原因提出自己的看法和想法。

我感兴趣的一点:

- setup and configuration
- error reports
- performance

4 个答案:

答案 0 :(得分:9)

ASP.NET运行状况监视不是日志记录解决方案。根据{{​​3}}:

ASP.NET运行状况监视使您可以执行以下任务:

  • 监控应用程序的性能以确保它是健康的。
  • 快速诊断失败的应用程序或系统。
  • 在应用程序的生命周期中评估重要事件。
  • 单独或跨Web场监控实时ASP.NET应用程序。
  • 记录与ASP.NET应用程序中的错误无关的事件。

所需配置的级别取决于您需要完成的任务。对于我的一些应用程序,我们只需要:

<healthMonitoring enabled="true">
  <rules>
    <add name="Application Lifetime Events On" eventName="Application Lifetime Events" 
         provider="EventLogProvider" profile="Default"/>
  </rules>
</healthMonitoring>

这将启用运行状况监视,并将应用程序生命周期事件添加到默认收集的事件中。这样,我们知道应用程序何时启动和停止,以及原因。

请注意,我们无需触及任何代码即可获得此功能。

答案 1 :(得分:5)

我发现设置和与ELMAH的集成非常容易。如果你使用NuGet来安装ELMAH,那就像Scott Hanselman在this视频中所展示的那样。

您只需要在您的软件包管理器上执行以下操作即可: -

install-package elmah

答案 2 :(得分:2)

这是一个意见(和要求)的问题,但我选择ELMAH因为它提供了MS Health Monitoring提供的所有内容,然后是一些。对我来说最大的特点是ELMAH的内置错误查看器。

答案 3 :(得分:2)

我开始使用ELMAH自从Scott Hanselman说它是切片面包以来最棒的东西,我真的喜欢它。正如Esteban上面所说,它监控的内容远远超过MS Health Monitor,而且更加可配置。

您还可以使用log4Net或Enterprise Library日志记录和异常块的组合,以及在注册表中启用HTTP错误,但实际上,为什么要重新发明轮子?