我现在使用Log4net已经有一段时间了,这是一个了不起的日志框架,特别是在连接到Castle.Windsor时.然而...
我通常使用滚动文件appender,但这导致了太多的日志文件而不是我想要的,所以相反,对于我的最新项目,使用了基本的LogFileAppender,但问题是日志文件不断增长(看似永远) .
如何告诉appender不要超过固定大小(并开始删除旧日志并将新日志附加到文件中?
我目前的配置如下:
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="E:\Logs\iWater\Schedule-Dispatch-API.log"/>
<param name="AppendToFile" value="true"/>
<maximumFileSize value="2048KB"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-16date{dd MMM HH:mm:ss} %-7level %-25.35logger{1} %message%newline"/>
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
看起来似乎没有遵守maximumFileSize属性.有解决方案吗
或者,如何将滚动文件appender配置为仅创建1个文件(永远)?
And*_*ite 68
FileAppender类没有MaxFileSize/MaximumFileSize属性.如果您使用RollingFileAppender,则只能获得这些.这是一个示例,它将文件限制为固定的最大大小,没有备份(将maxSizeRollBackups设置为0).请注意,当文件达到其最大大小时,它会截断(基本上删除所有现有日志记录并重新开始):
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="0" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)