Sotirios Delimanolis created LOG4NET-503:
--------------------------------------------

             Summary: RollingFileAppender incorrectly parses rolled over files 
when determining original backup size
                 Key: LOG4NET-503
                 URL: https://issues.apache.org/jira/browse/LOG4NET-503
             Project: Log4net
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.2.15
            Reporter: Sotirios Delimanolis
            Priority: Minor


Given the following files in the {{/home/sotirios/}} directory 

{noformat}
-rw-r--r-- 1 sotirios users   1075 Jan 26 16:20 debug.log
-rw-r--r-- 1 sotirios users   2147 Jan 26 12:35 debug.log-20150115
-rw-r--r-- 1 sotirios users   2147 Jan 26 12:35 debug.log-20150115.1
-rw-r--r-- 1 sotirios users   2147 Jan 26 12:35 debug.log-20150115.2
{noformat}

and the following sample configuration 

{noformat}
<?xml version="1.0" encoding="utf-8"?>
<log4net>
  <root>
  </root>
  <logger name="Test">
    <appender-ref ref="LogFileAppender" />
    <level value="DEBUG" />
  </logger>
  
  <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <datePattern value="'-'yyyyMMdd" />
    <encoding value="utf-8" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%utcdate [%property{THREAD-ID}] 
%-5level %logger - %message%newline" />
    </layout>
    <maximumFileSize value="1KB" />
    <maxSizeRollBackups value="5" />
    <param name="AppendToFile" value="true" />
    <param name="File" value="/home/sotirios/debug.log" />
    <rollingStyle value="Composite" />
    <staticLogFileName value="true" />
  </appender>
</log4net>
{noformat}

when log4net is initialized, all the files in the directory above will be 
passed to 
[{{InitializeFromOneFile}}|https://github.com/apache/log4net/blob/log4net-1.2.x/src/Appender/RollingFileAppender.cs#L879]
 and the {{m_curSizeRollBackups}} will be set to 2, even though the current 
iteration of the base file has no backups. In this case, only the {{20150115}} 
rollovers have backups.

When this {{RollingFileAppender}} eventually needs to create a backup, it will 
attempt to rollover backups 1 and 2 first, which don't exist. 

This is unnecessary and creates misleading WARN logs.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to