ASP.NET运行状况监视或ELMAH选择

本文关键字:ELMAH 选择 监视 NET 运行 ASP | 更新日期: 2023-09-27 18:11:00

net 4 in c# with SQL Server 2008 R2

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

我读了一些文章ELMAH和ASP。. NET运行状况监控的主题,但我想知道您在实际应用程序中更喜欢哪个系统的意见和想法,以及为什么。

我感兴趣的一点:

- setup and configuration
- error reports
- performance

ASP.NET运行状况监视或ELMAH选择

NET运行状况监视不是日志记录解决方案。根据ASP。NET运行状况监视概述:

ASP。NET运行状况监视使您能够执行以下任务:

  • 监视应用程序的性能以确保其运行正常。
  • 快速诊断应用程序或系统故障。
  • 评估应用程序生命周期中的重要事件。
  • 监控实时ASP。. NET应用程序,单独或跨Web场。
  • 记录不一定与ASP中错误相关的事件。网络应用程序。

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

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

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

我发现设置和集成ELMAH非常非常容易做到。如果你使用NuGet来安装ELMAH,它将是一块蛋糕,就像Scott Hanselman在这个视频中展示的那样。

你只需要在你的包管理器上做下面的操作,就是这样:-

安装包elmah

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

自从Scott Hanselman说ELMAH是自切片面包以来最伟大的东西,我就开始使用ELMAH,我真的很喜欢它。正如Esteban上面所述,它比MS Health Monitor监视更多的内容,并且更易于配置。

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