Me gustaría almacenar datos de configuración de log4net en mi archivo application.config. Con base en mi comprensión de la documentación, hice lo siguiente:Solicite a log4net que use el archivo de configuración de la aplicación para los datos de configuración
agregar una referencia a log4net.dll
Añadir la siguiente línea en AssemblyInfo.cs:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
Inicializar el registrador de la siguiente manera:
private static readonly ILog log = LogManager.GetLogger(typeof(frmWizard));
Tengo el siguiente código en mi app.config:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>
Sin embargo, cuando ejecuto la aplicación, me sale el siguiente error en la consola:
Sin appender llamado [ConsoleAppender ] pudo ser encontrado.
¿Cómo puedo obtener log4net para leer la configuración desde el archivo de configuración?
Gracias!
¿Qué código tiene en su app.config? – sgwill
Nota para los demás: las configuraciones 'app.config' que se muestran son, aparentemente, correctas * excepto * para' EventLogAppender' en la sección '', y 'ConsoleAppender' en el' ' sección - que no coinciden. Ver la respuesta de @ Konstantin. Además, ** para otras personas que no estén familiarizadas con log4net ** al utilizar esta pregunta para aprender a usarlo, ** tenga en cuenta que probablemente desee un * tipo * de anexador ** diferente al que se encuentra aquí, como 'tipo =" log4net .Appender.FileAppender, log4net "' (que se agrega a un archivo, no al Registro de eventos de Windows). –