Tengo dos proyectos configurados de forma idéntica para log4net. Un proyecto registra bien; sin embargo, el otro no se conecta en absoluto.log4net no leerá desde app.config
El Logger
en el proyecto que no está registrando rendimientos IsFatalEnabled = false
, IsErrorEnabled = false
, IsWarnEnabled = false
, IsInforEnabled = false
y IsDebugEnabled = false
.
He copiado y pegado de un proyecto a otro, he reemplazado el archivo por completo y he intentado eliminar todos los espacios en blanco.
¿Qué podría estar haciendo que un 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");
}
}
mi caso fue aproximadamente la misma - He copiado un proyecto a otro proyecto, pero "envuelta" log4net en el montaje personalizado con mi código de utilidad - aunque la línea mágica que mencionas fue en el nuevo proyecto, que le faltaba a el AssemblyInfo.cs de mi ensamblado personalizado (tuve la impresión de que toda la configuración tenía que hacerse en el ensamblado que contenía el punto de entrada - incorrecto) –
Tenía que hacer esto para una aplicación VB.NET ... sintaxis: –