2009-02-12 20 views
7

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

7

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.

+1

He tenido problemas similares con el registro solo "detener", y siempre está relacionado con un bloquear el archivo cuando está tratando de escribir. – StingyJack

+0

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

+0

¿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

7

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.)