RollingFileAppender does not roll more than one time when PreserveLogFileNameExtension is true ----------------------------------------------------------------------------------------------
Key: LOG4NET-203 URL: https://issues.apache.org/jira/browse/LOG4NET-203 Project: Log4net Issue Type: Bug Components: Appenders Environment: I'm using the trunk Reporter: Scott Alexander Method InitializeFromOneFile in RollingFileAppender.cs does not take into account the file extension. To repro setup an appender like so var appender = new DevicePointValueCsvAppender { MaxFileSize = ConfigurationManager.AppSettings[MaxFileSizeName].IfNotNull(max => OptionConverter.ToFileSize(max, DefaultMaxFileSize), DefaultMaxFileSize), MaxSizeRollBackups = 6,// ConfigurationManager.AppSettings[MaxSizeRollBackupsName].IfNotNull(max => Int32.Parse(max), DefaultMaxSizeRollBackups), Layout = new PatternLayout { ConversionPattern = PatternLayout.DefaultConversionPattern }, File = String.Format(CultureInfo.InvariantCulture, FileNameFormat, modbusMasterName), RollingStyle = RollingFileAppender.RollingMode.Composite, PreserveLogFileNameExtension = true, StaticLogFileName = false, AppendToFile = false }; When the logger initializes the call to InitializeRollBackups is made whic incorrectly calculates the pre-existing number of backups, due to the fact that the file extension is being included in the following line if (! curFileName.StartsWith(CombinePath(baseFile, m_dateTime.Now.ToString(m_datePattern, System.Globalization.DateTimeFormatInfo.InvariantInfo)))) The previous line should be replaced with something like the following string baseComparison = CombinePath(baseFile, m_dateTime.Now.ToString(m_datePattern, System.Globalization.DateTimeFormatInfo.InvariantInfo)); if (m_preserveLogFileNameExtension) baseComparison = Path.GetFileNameWithoutExtension(baseComparison); if (! curFileName.StartsWith(baseComparison)) Thanks -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.