¿Podrían compartir sus conocimientos sobre el manejo de errores/estrategia de registro para la aplicación asp.net 3.5 basada en la web?Manejo de errores/estrategia de registro
Respuesta
Deberías considerar log4net. Ver this question para más información.
Es muy robusto, rápido y fácil de usar.
Log4net logging: What have you found to be useful?
What are the best practices to log an error?
What should be included in the state of the art error and exception handling strategies?
What information should I be logging in my web app?
El registro es una parte muy crítica de cada aplicación, por lo que es importante que lo haga bien.
Seré independiente de Java y agregaré el documento de OWASP - proyecto de seguridad de aplicación web abierta. Estoy implementando una política de manejo de errores/registro y fue realmente útil.
- http://www.owasp.org/images/e/e0/OWASP_Logging_Guide.pdf
- http://www.owasp.org/index.php/Category:OWASP_Logging_Project
Otra buena pregunta que ya fue contestada aquí en stackoverflow: * What are the best practices to log an error?
Cuando se produce un error que no debe tratar de atraparlo o conectarse directamente en el código de su aplicación a menos que sea un error del que pueda esperar recuperarse. Por ejemplo, si tiene una aplicación web basada en datos y la base de datos está fuera de línea, eso no es algo de lo que pueda recuperarse. Pero si envía un correo electrónico y tiene dos servidores de correo electrónico y el primero está inactivo, es posible que pueda recuperar utilizando el segundo servidor de correo electrónico.
He visto muchas aplicaciones ASP.NET donde los desarrolladores han usado try...catch
bloques para "tragar" errores. En realidad, los bloques try...catch
solo se utilizan cuando hay una estrategia de recuperación conocida en el caso de un error (como el uso de un servidor de correo electrónico alternativo en mi ejemplo anterior). Si tiene más de un puñado de bloques try...catch
en su aplicación, probablemente lo esté haciendo mal.
El motivo por el que desea evitar el uso excesivo de los bloques try...catch
es porque desea que el registro de errores y la notificación sean ortogonales a su aplicación. No desea tener que cortar y pegar el código de registro de errores en cada página o componente. En su lugar, desea agregar algún mecanismo para que cualquier excepción no controlada sea automáticamente registrada y los desarrolladores sean automáticamente notificados.
La buena noticia es que tal funcionalidad de registro y notificación de errores es bastante fácil de implementar. Mi preferencia es usar ELMAH, un sistema gratuito de registro y notificación de errores de fuente abierta. Alternativamente, puede usar el sistema de registro de errores incorporado de ASP.NET, Health Monitoring.
Para obtener más información sobre ELMAH y el control de estado, así como para obtener orientación sobre páginas de error personalizadas y configurar todo, ver mi artículo, Exception Handling Advice for ASP.NET Web Applications.
Happy Programming!
- 1. Manejo de Excepciones únicas de registro en un controlador
- 2. manejo de muchos archivos de registro enormes con Python
- 3. PHP MySQL Registro y manejo de errores: mejor práctica
- 4. BackgroundWorker manejo de excepciones
- 5. (Windows) Manejo de excepciones: al registro de eventos o a la base de datos?
- 6. Manejo de seguridad de nivel de entidad/registro en una aplicación ASP.NET MVC
- 7. Problema con el manejo de señales, manejo de interrupciones
- 8. manejo
- 9. Manejo de nulos en Datawarehouse
- 10. Robusto manejo de excepciones Javascript
- 11. DDD, manejo de dependencias
- 12. Wcf manejo de excepciones
- 13. manejo de señales multiproceso
- 14. Manejo de excepciones JSF2
- 15. Topshelf - manejo de bucles
- 16. Manejo de múltiples excepciones
- 17. Manejo de IncompleteRead, URLError
- 18. Manejo de SIGCHLD múltiple
- 19. Manejo de excepciones AOP
- 20. manejo de excepciones ofstream
- 21. Manejo de DateTime DBNull
- 22. Manejo de programas minimizados
- 23. Manejo de falla de segmentación
- 24. Manejo de errores de ActiveResource
- 25. Patrón de manejo de excepciones
- 26. Manejo de errores de PHP
- 27. Manejo de devoluciones de llamada
- 28. Manejo de formularios de Wordpress
- 29. Manejo de excepciones de nodo
- 30. Manejo de errores de HttpWebRequest.GetResponse