2009-04-28 9 views
14

alguien tiene experiencia con log4net, he estado buscando en elmah, que es genial. Pero quería un poco más de control, es decir, usar el registro no solo en asp.net sino también en wpf.Usando log4net y dónde implementarlo y usarlo con elmah?

Anway, decidí echar un vistazo a log4net.

Tengo 2 clientes, (wpf y asp.net) que comparten lógica comercial.

¿Debería estar planteando eventos en la lógica comercial y en el cliente también?

que presumen la lógica de negocio utilizará el app.config/web.config (lógica de negocio está en otra capa - un proyecto de clase)

Alguien ha utilizado log4net junto con ELMAH, es allí de todos modos se puede conseguir para compartir la misma tabla db?

log4net me parece que el marco de registro final, sino que tiene ELMAH borde de la presentación de todas las variables del servidor y Seguimiento de la pila, etc

O tal vez es posible conseguir log4net para guardar el StackTrace también ELMAH y reemplazar por completo ??

Cualquier comentario muy apreciado

Respuesta

2

He estado usando log4net desde hace un tiempo y sobre todo tengo mi capa de datos y las capas de negocio hacen todo el registro de errores. Sin embargo, si su capa de presentación tiene una cantidad decente de "informática" con objetos, valdría la pena tener la información apropiada registrada allí también.

Puede configurar log4net para que tenga su configuración almacenada en el archivo .config o en su propio archivo de configuración. La ventaja del archivo separado es que si necesita cambiar los modos de registro sobre la marcha, puede hacerlo en el archivo .config por separado y no hacer que IIS active una actualización de la aplicación del sitio.

No he usado ELMAH todavía, pero se ve muy bien. Creo que, lo que es más importante, proporciona una forma de conectarse a las aplicaciones existentes sin complicaciones. Sin embargo, log4net proporciona una manera más fácil de obtener información de registro más detallada y extensa ya que tiene tantas opciones de configuración para trabajar.

Si no necesita un nivel de registro detallado para sus aplicaciones, me gustaría ir con ELMAH. Si desea obtener un enfoque más detallado, tómese el tiempo para trabajar log4net en su aplicación.

Esa es mi 10 bits.

25

Se utilizan para dos propósitos diferentes.

Elmah se utiliza para capturar y almacenar las excepciones que usted no esperaba. También proporciona algunas interfaces (página web, RSS, alerta de correo electrónico) para entregar las excepciones.

Log4net, por otro lado, es para registrar eventos (incluyendo errores causados ​​por excepciones) que sabía que podrían suceder (de lo contrario, no tendría un bloque try/catch).

Por lo tanto, debe usar ambos, no uno u otro.

Para responder a su pregunta específica, puede obtener log4net para registrar stacktrace de excepción, pero generalmente no debe registrar el seguimiento de pila para cada mensaje de depuración que inicie sesión. Las variables del servidor de registro y otras cosas específicas de la web también son posibles, pero requerirán algunas codificaciones personalizadas que no querrás hacer.