[This is preliminary documentation and subject to change.]
Implements file roll.
If the maximum number of size based backups is reached (curSizeRollBackups == maxSizeRollBackups) then the oldest file is deleted -- it's index determined by the sign of countDirection. If countDirection < 0, then files {File.1, ..., File.curSizeRollBackups -1} are renamed to {File.2, ..., File.curSizeRollBackups}.
If maxSizeRollBackups is equal to zero, then the File is truncated with no backup files created.
If maxSizeRollBackups < 0, then File is renamed if needed and no files are deleted.
This is called by RollOverSize to rename the files.
RollingFileAppender Class | log4net.Appender Namespace