[ https://issues.apache.org/jira/browse/LOG4NET-27?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13553625#comment-13553625 ]
Spamme commented on LOG4NET-27: ------------------------------- Hello, I find really funny, that this issue has been open 8 years ago and there isn't a solution for it yet. So I don't want to do all the job, I can give you some code and perhaps you can improve and test it. (Why? Because I have only take a look to the RollingFileAppender.cs code and I didn't checked out the whole source) protected void RollOverTime(bool fileIsOpen) { .... //Delete old file if (m_maxSizeRollBackups != 0) { //Possible intervals for the date format changing: 1 sec, 1 min, 1 hours, 1 day, 1 week, 1 month, 1 year (this could be also a constant) //Note: using 31 days for the month and 366 days (leap year) for the year, //shouldn't be a problem because the function is called when the log file name has already changed var intervals = new double[] { 1, 60, 60 * 60, 60 * 60 * 24, 60 * 60 * 24 * 7, 60 * 60 * 24 * 31, 60 * 60 * 24 * 366 }; foreach (var interval in intervals) { //Traveling back in time, weeeee..... var oldDate = m_now.AddSeconds(-interval); var oldDateFormat = oldDate.ToString(m_datePattern, System.Globalization.DateTimeFormatInfo.InvariantInfo); if (oldDateFormat != dateFormat) { //Bingo, date format changed, we have found the minimal interval for date format changing //Now calculate the the date format back m_maxSizeRollBackups times, time traveling again, weeeeee..... oldDate = m_now.AddSeconds(-interval * m_maxSizeRollBackups); oldDateFormat = oldDate.ToString(m_datePattern, System.Globalization.DateTimeFormatInfo.InvariantInfo); //Create the old file name and checking if exists, if exists delete it var oldFileName = CombinePath(File, oldDateFormat); if (FileExists(oldFileName)) DeleteFile(oldFileName); //we are done, break it break; } } } ... } > Rolling files on date/time boundaries doesn't support a maximum number of > backup files. > --------------------------------------------------------------------------------------- > > Key: LOG4NET-27 > URL: https://issues.apache.org/jira/browse/LOG4NET-27 > Project: Log4net > Issue Type: New Feature > Components: Appenders > Affects Versions: 1.2.11 > Reporter: Florian Ramillien > Priority: Minor > Fix For: 1.2 Maintenance Release > > Attachments: LOG4NET-27.patch, RollingFileAppender.cs, > RollingFileAppender.cs, RollingFileAppender.cs, RollingFileAppender.cs.patch, > RollingFileAppender.patch > > > A maximum of backup files exist when rolling files on file size, but not for > rolling on date/time. > This can be implemented with the same config key : MaxSizeRollBackups -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira