[ 
https://issues.apache.org/jira/browse/LOG4NET-465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michel Emond updated LOG4NET-465:
---------------------------------
    Description: 
h2. Reproduction steps

# Setup a web application using the settings from the attached config.xml file
# Notice the rolling style set to Composite
# Start and use the application
# The log files pile up in the folder
# Restart IIS
# Keep using the application

Expected result
- The rolling continues on or after the last file

Actual result
- The rolling restarts at index 1 and overwrites the existing files

h2. Solution

See the attached files:
- config.xml
- patch with a fix proposal

The original bug fix addresses the issue in the InitializeFromOneFile() method.
However, the GetWildcardPatternForFile() method also needs the baseFileName to 
be adjusted with the datePattern so the proper files are searched.
I placed a file path fix in the DetermineCurSizeRollBackups() method, so it's 
then passed down to the two other methods and everyone gets happy.

Here's a calling stack sample:
{code}
DetermineCurSizeRollBackups()
|
+--GetExistingFiles()
|  +--GetWildcardPatternForFile()
|
+--InitializeRollBackups()
   +--InitializeFromOneFile()
{code}

  was:
h2. Reproduction steps

# Setup a web application using the settings from the attached config.xml file
# Notice the rolling style set to Composite
# Start and use the application
# The log files pile up in the folder
# Restart IIS
# Keep using the application

*Expected result*
- The rolling continues on or after the last file

*Actual result*
- The rolling restarts at index 1 and overwrites the existing files

h2. Solution

See the attached files:
- config.xml
- patch with a fix proposal

The original bug fix addresses the issue in the InitializeFromOneFile() method.
However, the GetWildcardPatternForFile() method also needs the baseFileName to 
be adjusted with the datePattern so the proper files are searched.
I placed a file path fix in the DetermineCurSizeRollBackups() method, so it's 
then passed down to the two other methods and everyone gets happy.

Here's a calling stack sample:
{code}
DetermineCurSizeRollBackups()
|
+--GetExistingFiles()
|  +--GetWildcardPatternForFile()
|
+--InitializeRollBackups()
   +--InitializeFromOneFile()
{code}


> Rolling log files get overwritten when IIS is restarted
> -------------------------------------------------------
>
>                 Key: LOG4NET-465
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-465
>             Project: Log4net
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 1.2.13
>         Environment: asp.net 4.0
>            Reporter: Michel Emond
>         Attachments: RollingFileAppender.diff, config.xml
>
>
> h2. Reproduction steps
> # Setup a web application using the settings from the attached config.xml file
> # Notice the rolling style set to Composite
> # Start and use the application
> # The log files pile up in the folder
> # Restart IIS
> # Keep using the application
> Expected result
> - The rolling continues on or after the last file
> Actual result
> - The rolling restarts at index 1 and overwrites the existing files
> h2. Solution
> See the attached files:
> - config.xml
> - patch with a fix proposal
> The original bug fix addresses the issue in the InitializeFromOneFile() 
> method.
> However, the GetWildcardPatternForFile() method also needs the baseFileName 
> to be adjusted with the datePattern so the proper files are searched.
> I placed a file path fix in the DetermineCurSizeRollBackups() method, so it's 
> then passed down to the two other methods and everyone gets happy.
> Here's a calling stack sample:
> {code}
> DetermineCurSizeRollBackups()
> |
> +--GetExistingFiles()
> |  +--GetWildcardPatternForFile()
> |
> +--InitializeRollBackups()
>    +--InitializeFromOneFile()
> {code}



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

Reply via email to