WorldRobertProject opened a new issue, #163:
URL: https://github.com/apache/logging-log4net/issues/163

   When RollingStyle is Composite, it seems RollingFileAppender ignores 
AppendToFile flag except for the first log on that day.
   
   The following code makes log files as 2024-08-02.0.log, 2024-08-02.1.log, ...
   
   ### log4net.config.xml
   ```xml
   <?xml version="1.0" encoding="utf-8" ?>
   <configuration>
     <log4net>
       <appender name="LogFileAppender" 
type="log4net.Appender.RollingFileAppender">
         <param name="File" value=".\Log\" />
         <param name="AppendToFile" value="true" />
         <param name="RollingStyle" value="Composite" />
         <param name="DatePattern" value='yyyy-MM-dd".log"' />
         <param name="MaximumFileSize" value="5MB" />
         <param name="MaxSizeRollBackups" value="10" />
         <param name="StaticLogFileName" value="false" />
         <param name="CountDirection" value="1" />
         <param name="PreserveLogFileNameExtension" value="true"/>
         <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
         <layout type="log4net.Layout.PatternLayout">
           <param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss.fff} 
[%-5p] %m (%M)%n"/>
         </layout>
       </appender>
   
       <logger name="log">
         <level value="debug" />
         <appender-ref ref="LogFileAppender" />
       </logger>
     </log4net>
   </configuration>
   ``` 
   
   ### Program.cs
   ```c#
   using log4net;
   using log4net.Config;
   using System.Reflection;
   
   var pathConfig = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, 
"log4net.config.xml");
   XmlConfigurator.Configure(new FileInfo(pathConfig));
   
   var assembly = Assembly.GetEntryAssembly();
   var logger = LogManager.GetLogger(assembly, "log");
   
   logger.Info("Hello, log4net!");
   ``` 
   
   When only 2024-08-02.0.log exists, it appends a new log to 2024-08-02.0.log 
as expected.
   When both 2024-08-02.0.log and 2024-08-02.1.log exist and 2024-08-02.0.log 
is greater than 5MB, this code overwrites 2024-08-02.1.log and outputs the 
following error message:
   
   > log4net:ERROR RollingFileAppender: INTERNAL ERROR. Append is False but 
OutputFile [...\Log\2024-08-02.1.log] already exists.
   
   It seems AppendToFile flag is ignored.
   
   All log4net versions from 2.0.10 to 2.0.17 reproduce this issue.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to