Je suis en train de mettre en place log4net mais je ne peux pas le faire fonctionner, je l'ai mis dans mon web.config:Je ne peux pas faire fonctionner log4net dans mon application web :(
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="14" />
<maximumFileSize value="15000KB" />
<datePattern value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
<appender-ref ref="TraceAppender" />
</root>
</log4net>
Puis, mon code, j'Execute:..
log4net.Config.XmlConfigurator.Configure(new FileInfo(HttpContext.Current.Server.MapPath("~/Web.config")));
ILog log = LogManager.GetLogger("MainLogger");
if (log.IsDebugEnabled)
log.Debug("lalala");
Mais rien ne se passe que j'ai vérifié la variable « log », et il contient un objet LogImpl qui a tous les niveaux de journalisation ont permis que je reçois pas d'erreur ou d'avertissement configuration, je ne vois pas fichier à la racine, dans la corbeille ou n'importe où
Que dois-je faire pour le faire fonctionner?
Si vous pouvez déboguer cela dans Visual Studio, vérifiez la fenêtre de sortie lorsque vos feux d'applications vers le haut. log4net fournit toutes les informations sur les erreurs de configuration. –
Avez-vous essayé de définir un chemin absolu pour la propriété 'file'? (par exemple 'C: \ logfile.log') –
Outre les excellentes réponses ci-dessous, vous ne devez appeler Configure qu'une seule fois pour la durée de vie du processus de l'application, par ex. dans Application Start in Global.asax. –