Skip to content

RollingFileAppender does not respect the MaxSizeRollBackups with positive CountDirection #231

Closed
@gdziadkiewicz

Description

@gdziadkiewicz

TODO

  • Check if the problem is present for other RollingModes

config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<log4net>
		<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
			<param name="File" value=".\Log\optionalprefix.log" />
			<param name="AppendToFile" value="true" />
			<param name="RollingStyle" value="Composite" />
			<param name="DatePattern" value='yyyy-MM-dd-mm' />
			<param name="MaximumFileSize" value="1MB" />
			<param name="MaxSizeRollBackups" value="3" />
			<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

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");


for(int i = 0; i <10000000; ++i)
{
  logger.Info($"Hello, log4net! {i}");
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions