J'ai deux projets configurés de manière identique pour log4net. Un projet se connecte correctement; Cependant, l'autre ne se connecte pas du tout.log4net ne lit pas à partir de app.config
Le Logger
dans le projet qui est pas le retour, l'exploitation forestière IsFatalEnabled = false
IsErrorEnabled = false
, IsWarnEnabled = false
, IsInforEnabled = false
et IsDebugEnabled = false
.
J'ai copié et collé d'un projet à l'autre, j'ai complètement remplacé le fichier et essayé de supprimer tous les espaces.
Qu'est-ce qui pourrait empêcher un projet de lire correctement les niveaux corrects à partir du fichier 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>
Program.cs
using log4net;
class Program
{
private static readonly ILog Log = LogManager.GetLogger("SO");
static void Main(string[] args)
{
Log.Info("SO starting");
}
}
mon cas était à peu près le même - je copiais un projet à un autre projet, mais « enveloppé » log4net dans l'assemblage personnalisé avec mon code utilitaire - bien que la ligne magique que vous mentionnez était dans le nouveau projet, il était absent de AssemblyInfo.cs de mon assembly personnalisé (j'ai eu l'impression que toute la configuration devait être faite dans l'assembly qui contenait le point d'entrée - faux) –
Je devais faire cela pour une application VB.NET ... syntaxe: –