log4net no leerá desde la aplicación.config
Tengo dos proyectos configurados de forma idéntica para log4net. Un proyecto registra bien; sin embargo, el otro no registra en absoluto.
El Logger
en el proyecto que no está el registro de devoluciones IsFatalEnabled = false
, IsErrorEnabled = false
, IsWarnEnabled = false
, IsInforEnabled = false
y IsDebugEnabled = false
.
He copiado y pegado de un proyecto al otro, he reemplazado el archivo completamente y he intentado eliminar todos los espacios en blanco.
¿Qué podría estar causando que el proyecto no esté leyendo correctamente los niveles correctos de la app.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>
Programa.cs
using log4net;
class Program
{
private static readonly ILog Log = LogManager.GetLogger("SO");
static void Main(string[] args)
{
Log.Info("SO starting");
}
}
1 answers
Parece que la aplicación.el archivo de configuración 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)]
Extraño, 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)]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-25 12:29:55