Sto utilizzando log4net per la prima volta e ho seguito la documentazione utilizzando gli esempi di configurazione forniti, tuttavia le istruzioni di debug non registrano.log4net non registra le dichiarazioni di debug
I livelli di informazioni, errori, Avvisi e irreversibili vengono registrati correttamente. Qualcuno può dirmi cosa mi manca?
app.config:
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<log4net>
<appender name="Console" type="log4net.Appender.ColoredConsoleAppender">
<mapping>
<level value="INFO" />
<foreColor value="Green"/>
</mapping>
<mapping>
<level value="DEBUG" />
<foreColor value="Cyan,HighIntensity"/>
</mapping>
<mapping>
<level value="WARN" />
<foreColor value="Purple,HighIntensity"/>
</mapping>
<mapping>
<level value="ERROR" />
<foreColor value="Red,HighIntensity"/>
</mapping>
<mapping>
<level value="FATAL" />
<foreColor value="Yellow,HighIntensity"/>
</mapping>
<layout type="log4net.Layout.PatternLayout">
<!-- Pattern to output the caller's file name and line number -->
<conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
</layout>
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="example.log" />
<appendToFile value="true" />
<maximumFileSize value="100KB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %thread %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="Console" />
<appender-ref ref="RollingFile" />
</root>
</log4net>
Alcune persone hanno menzionato il controllo AssemblyInfo per [assembly: log4net.Config.XmlConfigurator()], tuttavia non v'è alcuna differenza con o senza questa linea.
Logger è dichiarato come:
private static readonly ILog log = LogManager.GetLogger(typeof(CWD_Netsuite));
e vi si accede come:
XmlConfigurator.Configure();
log.Debug("Debugging"); //does not get logged
log.Info("Entering Application"); //logged to console and log file
log.Debug("Debug Statement"); //does not get logged
log.Error("Error statement"); //logged to console and log file
log.Warn("Warning statement"); //logged to console and log file
log.Fatal("Fatal Statement"); //logged to console and log file
Giusto per chiarire tutte le risposte qui sotto, nella gerarchia di registrazione Log4Net, DEBUG è il più basso, al di sotto INFO. –