Estoy tratando de comprender las ventajas y desventajas de usar log4netor enterprise logging application block (LAB) para iniciar sesión en la aplicación. Sé que una cosa LAB es un poco difícil de usar, entonces log4net.log4net vs MS Logging Application Block
Respuesta
He usado Log4Net, pero no me gustó tanto. Definitivamente tiene la sensación de una API traducida de otro idioma. Han pasado unos años, sin embargo, por lo que podría haber sido mejorado desde entonces.
Me gustó la configuración para LAB mejor, sin embargo, cuando el LAB no funciona, es casi IMPOSIBLE averiguar POR QUÉ. Es lo más irritante ... Puede funcionar perfectamente, luego parece detenerse repentinamente sin razón aparente. Me di por vencido (la última versión que usé fue 4.1) hasta que descubrieron cómo hacer que sea fácil de depurar.
Yo diría que si está utilizando otros bloques de aplicaciones, quédese con LAB. Pero prepárate para dejarlo después de pasar una semana tratando de solucionar los errores para iniciar sesión. Si no está usando otro bloque, use Log4Net.
Además, si está codificando una aplicación web, consulte ELMAH. Es más un módulo de informe de errores, pero puede usarlo para un registro rudimentario al generar eventos manualmente.
Uso Log4Net. Ya está integrado en varias otras bibliotecas que uso (NHibernate) por lo que tiene mucho sentido.
Tengo una introducción a Log4Net si desea leer más. http://elegantcode.com/2007/12/07/getting-started-with-log4net/
Además, como dijo Will sobre LAB, puede ser difícil de configurar (a través de archivos de configuración xml), pero Log4net es muy estable. Además, puede configurar Log4Net para hacer casi cualquier cosa que desee (archivos de texto, archivos de texto en movimiento, registro en la base de datos, visor de eventos, etc.)
- 1. Logging InnerException usando Log4Net
- 2. Entity Framework 4.1 vs Enterprise Data Application Block Rendimiento máximo
- 3. pthread_mutex_t VS @synchronized block?
- 4. Logging vs. Debugging
- 5. log4net logging no creando el archivo de registro
- 6. display: inline vs display: block
- 7. File.open with block vs without
- 8. Tiggr vs Application Craft
- 9. HttpRuntime.Cache [] vs Application []
- 10. Unity Application Block, ¿Cómo pasar un parámetro a Injection Factory?
- 11. Logging ClassName y MethodName usando log4net para un proyecto .NET
- 12. Log4Net o Bloque de aplicación de registro
- 13. Logging * Business * Events - use logging framework?
- 14. Application vs Container Managed EntityManager
- 15. CSS display: inline vs inline-block
- 16. log4net versus TraceSource
- 17. ClickOnce .appref-ms más que un enlace al archivo .application?
- 18. Application vs Cache: Mecanismo de bloqueo
- 19. Qt Application Performance vs. WinAPI/MFC/WTL/
- 20. Logging with Vala
- 21. log4net con .NET 4.0
- 22. SynchronizationLockException + Logging
- 23. Managed Extensibility Framework (MEF) frente a Composite UI Application Block (CAB)
- 24. ¿Parallel.ForEach Block?
- 25. MS Velocity vs Memcached para Windows?
- 26. SQL Server Express vs MS Access
- 27. Pyramid logging
- 28. Glassfish Logging
- 29. Logging NSNotifications
- 30. C# Logging. ¿Qué debería usar?
He tenido problemas similares con el registro solo "detener", y siempre está relacionado con un bloquear el archivo cuando está tratando de escribir. – StingyJack
podemos limitar no. de correos electrónicos enviados para el mismo tipo de error dentro de un lapso de tiempo. por ejemplo, hay alguna excepción en el código y esa excepción es el envío de correo electrónico, solo debería recibir un correo electrónico por cada caso de esa excepción en una hora (configurable) – user65266
¿Pero qué sucede si está iniciando sesión en una base de datos? Ningún bloqueo de archivos hace que eso falle. Es exasperante no escriben nada en el registro de eventos para ayudarlo a depurar fallas. – Will