config log4net pour un site web?
Bonjour,
Je veux utiliser log4net avec mon site web en asp.net / MVC4 / razor.
Je veux qu'un nouveau fichier se créé dès que nécessaire, un maximum par jour, et avec le nom "SiteWeb_" suivi de la date du jour.
J'ai donc défini ceci dans le web.config:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| ...
<configSections>
<sectionGroup name="devExpress">
...
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, Log4net" requirePermission="false"/>
</configSections>
<log4net>
<root>
<level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="logs\\SiteWeb_%date{yyyyMMdd}.log" />
<param name="appendToFile" value="true"/>
<param name="rollingStyle" value="Date" />
<param name="datePattern" value="yyyyMMdd" />
<layout type="log4net.Layout.PatternLayout">
<param name="conversionPattern" value="%date - %level - thread(%thread) : %message%newline"/>
</layout>
</appender>
</log4net> |
et ceci dans Global.asax.cs :
Code:
1 2 3 4 5 6
| protected void Application_Start()
{
...
log4net.Config.XmlConfigurator.Configure();
...
} |
et dans chaque fichier où je veux faire du log, j'ai ceci:
Code:
public static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
et
Or quand j'ai lancé mon serveur le 31/12/2012 il m'a bien créé le fichier SiteWeb_20121231.log par contre quand je suis revenu le 02/01/2013, il m'avait bien PAS créé de fichier le 01/01/2013 mais par contre il a copié le fichier du 31/12/2012 dans SiteWeb_20121231.log20121231 (1er pb...) et a généré les logs du 02/01/2013 dans SiteWeb_20121231.log (2ème pb...). Le contenu de la log en lui-même (au niveau des dates et du formatage) est bon par contre.
Est-ce que vous pouvez voir ce que j'ai mal déclaré car je ne vois plus de mon côté.
D'avance merci,
Julien