logmanager ejemplo log4net log4net-configuration

ejemplo - log4net table



log4net no leerĂ¡ desde app.config (1)

Parece que el archivo app.config no fue configurado para ser observado por log4net.

Agregué la siguiente línea a AssemblyInfo.cs y el registro ahora está habilitado:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

Raro, ya que no agregué esta línea al proyecto que estaba funcionando.

EDITAR:

Parece que el proyecto que estaba trabajando tenía la línea después de todo. Debo haberlo olvidado.

// This will cause log4net to look for a configuration file // called [ThisApp].exe.config in the application base // directory (i.e. the directory containing [ThisApp].exe) // The config file will be watched for changes. [assembly: log4net.Config.XmlConfigurator(Watch = true)]

Tengo dos proyectos configurados de forma idéntica para log4net. Un proyecto se registra bien; sin embargo, el otro no se registra en absoluto.

El Logger en el proyecto que no está registrando devuelve IsFatalEnabled = false , IsErrorEnabled = false , IsWarnEnabled = false , IsInforEnabled = false e IsDebugEnabled = false .

He copiado y pegado de un proyecto a otro, reemplacé el archivo completamente e intenté eliminar todos los espacios en blanco.

¿Qué podría estar causando que el proyecto no esté leyendo correctamente los niveles correctos desde la aplicación.config?

app.config:

<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net> <appender name="FileAppender" type="log4net.Appender.FileAppender"> <file value="logfile.txt" /> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date: %-5level – %message%newline" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="FileAppender" /> </root> </log4net> </configuration>

Program.cs

using log4net; class Program { private static readonly ILog Log = LogManager.GetLogger("SO"); static void Main(string[] args) { Log.Info("SO starting"); } }