我将使用ELMAH进行最终的自动错误记录,但最近意识到ASP.NET Health Monitoring可以完成相同的工作(可能)。现在我想知道(请)他们是否像log4net和entlib一样是彼此的替代品?
答案 0 :(得分:7)
ELMAH用于错误监控,纯粹而简单。通过读数,RSS源等轻松查看错误。健康监控更像是一个完整的仪器解决方案。
想要简单的答案吗?
ELMAH是一个非常快速的可插拔解决方案,用于错误监控它有一个非常具体的任务(确实很漂亮)。健康监测更多的是霰弹枪查看/监控一切方法,涉及更多的设置工作。哦是的,需要做出改变吗?它是开源的,抓住它,随意改变它。
答案 1 :(得分:1)
我没有在ASP.NET中使用过Health Monitoring,但我使用过ELMAH,这简直太棒了。它只需要2分钟即可完成设置,然后您就可以看到所有错误。显示错误的选项也很多。试试ELMAH,你会爱上它。
答案 2 :(得分:1)
ASP.NET运行状况监控将自动生成应用程序域启动和关闭以及心跳等事件的消息以及有关Web应用程序的许多其他信息。日志框架不支持此类功能,但您可以将Health Monitoring系统事件路由到您选择的日志记录框架。有些框架甚至支持开箱即用,例如CuttingEdge.Logging。以下是健康事件转发到日志记录提供程序的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>