代码之家  ›  专栏  ›  技术社区  ›  Afshar Mohebi

ASP.NET的健康监控和Elmah是否相互替代?

  •  8
  • Afshar Mohebi  · 技术社区  · 14 年前

    我本来打算使用elmah进行最终的自动错误日志记录,但最近我意识到ASP.NET运行状况监视也可以做同样的工作(也许)。现在,我想知道(请)它们是否像log4net和entlib一样是彼此的替代品?

    3 回复  |  直到 12 年前
        1
  •  7
  •   Nick Craver    14 年前

    Elmah用于错误监控,简单明了。通过读数、RSS提要等很容易看到错误。健康监控更像是一个完整的工具解决方案。

    想要简单的答案吗?

    Elmah是一个非常快速的可插拔解决方案 错误监视 它有一个非常具体的任务(非常漂亮)。健康监控更多的是散弹枪——查看/监控所有方法,并且涉及更多的设置工作。哦,是的,需要改变一下吗?它是开源的,抓住它,随意改变它。

        2
  •  1
  •   azamsharp    14 年前

    我没有在ASP.NET中使用健康监控,但是我使用了Elmah,这简直是太棒了。实际上只需要2分钟就可以设置,然后您就可以看到所有错误。显示错误的选项也很多。试试埃尔玛,你会喜欢的。

        3
  •  1
  •   Steven    14 年前

    ASP.NET运行状况监视将自动为应用程序域启动和关闭、心跳等事件生成消息,以及有关Web应用程序的许多其他信息。日志框架不支持此类功能,但您可以将运行状况监视系统事件路由到您选择的日志框架。一些框架甚至可以直接支持这个功能,比如 CuttingEdge.Logging . 下面是一个配置示例 切割边缘。日志记录 如果运行状况事件转发到日志记录提供程序:

    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <section name="logging"
          type="CuttingEdge.Logging.LoggingSection, CuttingEdge.Logging" />
      </configSections>
      <system.web>
        <healthMonitoring heartbeatInterval="0" enabled="true">
          <providers>
            <!-- We're configuring the web event provider here. -->
            <add name="LoggingWebEventProvider"
      type="CuttingEdge.Logging.Web.LoggingWebEventProvider, CuttingEdge.Logging"
              loggingProvider="DebugLogger" />
          </providers>
          <rules>
            <add name="Custom Event Provider"
               eventName="All Events"
               provider="LoggingWebEventProvider"
               profile="Default" />
          </rules>
        </healthMonitoring>
      </system.web>
      <logging defaultProvider="DebugLogger">
        <providers>
          <!-- Configure your favorite provider here. -->
          <add name="DebugLogger"
            type="CuttingEdge.Logging.DebugLoggingProvider, CuttingEdge.Logging"
            description="Debug logging provider"
            threshold="Debug" />
        </providers>
      </logging>
    </configuration>