Ich spiele zum ersten Mal mit Log4Net und stoße auf Probleme. Ich habe verschiedene Anleitungen befolgt, aber ich konnte es nicht dazu bringen, etwas zu protokollieren. Lassen Sie mich Ihnen meinen Code zeigen und hoffentlich können Sie mir sagen, was ich falsch mache.
app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="CurrentLog.txt"/>
<staticLogFileName value="true"/>
<appendToFile value="true"/>
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd"/>
<filter type="log4net.Filter.LevelRangeFilter">
<acceptOnMatch value="true" />
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{dd MMM yyy HH:mm:ss} %level %message. %newline %exception" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
</configuration>
AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
Präsentator.cs
An der Spitze der Klasse habe ich dies:
private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Dann versuche ich, die Log-Variable später in der Klasse zu verwenden:
bool isDebugEnabled = log.IsDebugEnabled;
log.Debug("Failed to save", e);
Wann immer ich die isDebugEnabled
ist sie falsch, wie alle anderen Variablen auch. isBlahEnabled
wenn ich die Protokollvariable untersuche.
Mein Verdacht ist, dass ich meine app.config-Datei nicht richtig angeschlossen habe, da dies das erste Mal ist, dass ich versucht habe, eine zu verwenden. Ich habe sie erstellt, indem ich im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt geklickt, ein neues Element hinzugefügt, Anwendungskonfigurationsdatei ausgewählt und app.config benannt habe.