2010-03-05 14 views
6

Estoy usando log4Net para mi logging. También tengo el siguiente conjunto ...¿Hay alguna diferencia entre log4net.Config.BasicConfigurator.Configure() y log4net.Config.XmlConfigurator.Configure()?

<log4net debug="true"> .. </> 

Ok, ahora, cuando tengo el código

log4net.Config.BasicConfigurator.Configure(); 

siguiente realmente no hay nada de información de depuración interna prolijo pero sí a ser visualizado, cualquier cosa que registre

Ahora, cuando me cambiaré ese código y reemplazarlo con esto:

log4net.Config.XmlConfigurator.Configure(); 

consigo una gran cantidad de información xml-depuración interna y nada me conecto, consigue que se muestra.

¿Por qué es esto? ¿Cuál es la diferencia entre los dos?

Respuesta

5

BasicConfigurator solo permite configurar un appender, en la raíz, y solo puede iniciar sesión en la consola. Realmente no le da ninguna información de depuración porque no es realmente ninguna información de depuración.

XmlConfigurator le brinda el conjunto completo de opciones de configuración de log4net; consulte la sección Configuration del manual para obtener más información. En realidad, comienza con un ejemplo usando BasicConfigurator y continúa mostrándole todas las propiedades adicionales que puede establecer en el XML.

En una aplicación de producción, es probable que desee tener diferentes registradores con diferentes apéndices utilizando diferentes umbrales y áreas; probablemente recibirá información de registro de varios componentes diferentes y no desea hacer exactamente el mismo registro para cada uno. También querrá iniciar sesión en lugares que no sean la consola: archivos de registro, registro de eventos, alertas por correo electrónico, ese tipo de cosas. Solo puede hacer esto con el XmlConfigurator.

+0

AH. gotcha. Actualmente tengo dos appenders - ConsoleAppender & OutputDebugStringAppender - entonces usaré el XmlConfigurator. También agregaré más para producción, más tarde también. Gracias amigo. –

+4

En realidad, puede configurar BasicConfigurator para iniciar sesión en el archivo, consulte http://marc.info/?l=log4net-user&m=117974721929259&w=4 –

4

Sí, sí. Si desea configurar sus registros en código, no desde una configuración, entonces desea utilizar el BasicConfigurator. @Aaronaught Tu entrada es bastante antiguo, lo que podría explicar por qué su declaración:

BasicConfigurator sólo permite una appender a configurar, en la raíz, y sólo puede conectarse a la consola.

..is incorrecto. Estoy utilizando el BasicConfigurator para el registro de eventos, archivos y bases de datos a partir de marzo de 2015. También admite más de un appender por registrador. Mi log4net está configurado programáticamente, no desde un archivo de configuración.

Cuestiones relacionadas