2009-10-11 25 views
5

(subjetiva)¿Qué otras alternativas existen para el registro log4net?

Estoy buscando lo que usa para realizar el registro en su aplicación. Esto de log4net me está dando dolores de cabeza. ¿Hay alguna respuesta mejor o solo hay una solución de cervecería casera? Sé que el subsistema System.Diagnostics.Trace es bastante capaz si debo capa sobre esto?

+0

¿Por qué no definir sus requisitos/dolores con log4net? Es bastante conveniente una vez que te acostumbras. – ripper234

+0

Ver comentarios en la publicación de Rippo para algunos problemas con log4net. –

Respuesta

7

NLog es probablemente el otro gran jugador en esta área. Además, hay una biblioteca empresarial application bloc dedicada a rastrear y registrar.

+1

+1 para NLog, no lo había visto y lo echaré un vistazo. –

3

¿Por qué no utilizar solo las clases de .NET para el registro?

Con Custom-Listeners puede hacer casi cualquier cosa para el registro, puede aplicar filtros, extender sus registros a múltiples destinos, bases de datos, archivos, red, lo que sea.

Simplemente tenga cuidado con lo que es capaz .NET-Framework, se sorprenderá.

+1

Estaba considerando este enfoque. El desafío más grande es que todavía terminas implementando todos los escritores para la seguridad de hilos y envolviendo las llamadas de la API del cliente para evitar que el formateo de cadenas ect, bloquee la aplicación. Como la mayoría de los registros se realizan en un bloque catch, generar excepciones es malo mojo. Sin embargo, sigue siendo un enfoque viable para usar la mecánica, pero todavía termina siendo principalmente casero. –

2

Trate Elmah es bastante fácil, eso sí log4net no es tan malo una vez que llegue a su cabeza en ella ....

Lo que en realidad son los dolores de cabeza?

+2

Principalmente problemas de concurencia con una aplicación de varias instancias. Eso y todo es bastante intolerante a las fallas. Por ejemplo, cuando un registrador falla, no se están llamando a otros registradores. También es realmente molesto en NUnits generar resultados de error debido a colisiones de bloqueo de archivos con el software real. Esto se debe principalmente a la manera en que probamos los servicios web ejecutando el host Asp.net in-proc sin 'especializar' el web.config. –

+0

@ csharptest.net: No estoy muy seguro de lo que quieres decir. Log4net tiene un diseño de fail-stop; ver http://logging.apache.org/log4net/release/faq.html bajo "¿Log4net es un sistema confiable de registro?". Si confía en iniciar sesión para que siempre funcione, log4net no es para usted. – TrueWill

1

Usamos el Enterprise Library exclusivamente en nuestro entorno corporativo (Logging Block). Y recientemente comencé a usar Log4Net en proyectos personales.

Por experiencia, la Biblioteca Enterprise, aunque poderosa, es un gran esfuerzo para ponerla en funcionamiento. No solo por tratar de averiguar qué dll usar, sino que la configuración puede volverse difícil de manejar.

Por otro lado, he encontrado que Log4Net es extremadamente fácil y puede estar en funcionamiento en muy poco tiempo; bastante literalmente en menos de una hora.

De acuerdo, soy un fanático de las EM (está bien, en realidad no, pero son la razón por la que me puedo ganar la vida) y normalmente me gusta la EM. Sin embargo, hice la recomendación de migrar a Log4Net en el trabajo. La simplicidad de esto realmente es refrescante.

0

Eche un vistazo a Common.Logging. Funciona con todos los principales marcos de registro (system.diagnostics, log4net, nlog, entreprise library) y le permite cambiar los marcos de registro de la configuración.

Desde mi experiencia personal: he utilizado el rastreo de .NET en un entorno corporativo que no nos permitía usar el código abierto, y después de perfeccionar el archivo rodador tracelistener, era bastante fácil de usar. Ahora uso log4net y es bastante agradable, pero lleva un tiempo acostumbrarse.

3

Hay un buen número de bibliotecas y herramientas que hay registro de .NET, aquí está una lista extensa:

http://www.dotnetlogging.com/

También puede ser que desee echar un vistazo a nuestro producto tala .NET SmartInspect, que ofrece ricas capacidades de registro (a diferencia de las funciones de registro de solo texto de la mayoría de las otras herramientas de registro) y viene con un visor de registro y una aplicación de servidor de registro opcional.

1

Sé que esta pregunta es demasiado antigua y está buscando una alternativa a log4net, pero créame, log4net es la mejor solución de registro y es la más utilizada y también ofrece una amplia gama de detectores de registros que cualquier otro marco de registro.Además, puede implementar un appender personalizado junto con los appenders incorporados. Para aquellos que tienen problemas para configurar log4net, pueden usar la siguiente publicación que describe una guía paso a paso para que funcione.

Log4Net section in Web.Config generates Error

feliz :) tala

Cuestiones relacionadas