Parece que ELMAH No puede interceptar sus propios errores
ELMAH hace atrapar sus propios errores en cierta medida. Si el ErrorLogModule
encuentra una excepción al intentar registrar el error, la excepción resultante del registro se envía al recurso de rastreo de .NET Framework estándar. Ver line 123 from 1.0 sources. Ver también los siguientes paseo a través de la documentación de ASP.NET para conseguir el trazado de .NET Framework estándar de trabajo con ASP.NET rastreo:
Walkthrough: Integrating ASP.NET Tracing with System.Diagnostics Tracing
el archivo AXD no está disponible cuando el SQL databse log failed.
Eso es correcto. La conectividad de la base de datos de SQL Server debe ser funcional para ver los errores almacenados en una base de datos de SQL Server al usar SqlErrorLog
.
¿Cuál es el comportamiento previsto de ELMAH si la base de datos no está disponible?
Si, por ejemplo, la base de datos de SQL Server está inactiva, se producirá un SqlException
durante el registro. ELMAH enviará el contenido del objeto SqlException
a la función de rastreo de .NET Framework estándar.
¿Cómo puedo diagnosticar mis errores si ocurre esto ?
La mejor opción aquí es permitir también la tala y envío por correo electrónico de errores. Si la base de datos no funciona, es probable que la puerta de enlace de correo esté activada y aún recibirás notificaciones de errores. Los errores obtendrán, en efecto, registrado en algunos buzones de correo. Esto también tiene la ventaja adicional de que si la puerta de enlace de correo está inactiva, es probable que la base de datos esté activa y los errores se registren allí. Sin embargo, si ambos están caídos, necesitará revisar seriamente su infraestructura de producción y posiblemente tomar medidas para monitorear la salud de su sistema a través de medidas adicionales.
+1 por pensar/probar los peores escenarios posibles ANTES de que ocurran. –