Hello, I am using log4net for a couple years, but it still have some secrets… I'm using RollingFileAppender in my app and I'd like to limit number of stored log files - I wan't to keep logs for the last 10 days, any older log should be deleted.
First idea was to call once a day simple procedure, which finds all log files according its name and deletes all, which _creation_ date is older than 10 day. But it didn't work - first 10 day id nothing deleted what is OK, but then all files are deleted as all rolled files have the same creation date.
So I am wondering how file rolling really works? I expected that old file is reanmed and new file is created, but it isn't probably true.
Second idea is to delete old logs by other way - according documentation MaxsizeRollBackups may help. Has anybody experience with this settings? Of course I can try myself, but I need result today, I can not wait for 10 days :-(
Or is there any other way how to preserve only last 10 logfiles?
My config file: <log4net> <appender name="Console" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <!-- Pattern to output the caller's file name and line number --> <conversionPattern value="%date{HH:mm:ss,fff} %5level [%thread] %message%n" /> </layout> <Threshold value="DEBUG" /> </appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> <appendToFile value="true" /> <file value="Log/Service.log" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date{HH:mm:ss,fff} %5level [%2thread] %message (%logger{1}:%line)%n" />
<!--<conversionPattern value="%date{HH:mm:ss,fff} %5level %message (%type{1}:%line)%n" />--> </layout> <rollingStyle value="Date" /> <Threshold value="DEBUG" /> </appender>
<root> <level value="DEBUG" /> <appender-ref ref="Console" /> <appender-ref ref="RollingFile" /> </root> </log4net>
With regards Radovan Raszka |