2010-02-21 11 views

Respuesta

7

ELMAH es para el control de errores, puro y simple. Fácil de ver los errores a través de una lectura, fuentes RSS, etc. El monitoreo de la salud es más que una solución de instrumentación completa.

¿Quieres la respuesta fácil?

ELMAH es una solución muy rápida enchufable para error de seguimiento de tiene una tarea muy específica (es decir hace muy bien). El monitoreo de la salud es más del enfoque de ver/monitorear todo y requiere mucho más trabajo de configuración. Oh sí, ¿necesitas hacer un cambio? Es de código abierto, cógelo, cámbialo como quieras.

1

No he usado Health Monitoring en ASP.NET pero he usado ELMAH y es simplemente increíble. Literalmente toma solo 2 minutos configurarlo y luego puedes ver todos los errores. También hay tantas opciones para mostrar los errores. Prueba ELMAH te va a encantar.

+0

@azamsharp: gracias por la respuesta. Pero ASP.NET Health Monitoring tiene el mismo aspecto: http://www.4guysfromrolla.com/articles/031407-1.aspx –

1

ASP.NET Health Monitoring generará automáticamente mensajes para eventos como el inicio y el apagado del dominio de la aplicación y los latidos del corazón, y mucha más información sobre la aplicación web. Los marcos de trabajo de registro no son compatibles con tales características, pero puede enrutar los eventos del sistema de Supervisión de estado a su marco de trabajo de registro preferido. Algunos frameworks incluso lo admiten de fábrica, como CuttingEdge.Logging. Aquí está un ejemplo de configuración de un CuttingEdge.Logging donde los eventos de salud se reenvían a un proveedor de registro:

<?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> 
Cuestiones relacionadas