Log4Net可以自动删除日志文件吗?

ton*_*yjy 18 .net c# logging log4net log4j

我在用C#编写的Windows服务程序中使用log4net RollingFileAppender.日志目录中文件的数量和大小增长得太快,需要清理.配置如下:

<appender name="Rolling Log" type="log4net.Appender.RollingFileAppender">
<file value="..\logs\MyProgram.%cs{instanceName}.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value=".yyyy-MM-dd.lo\g" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="150MB" />
<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="%date [%-5level] %property{remoteUser} [%threadIdentity] %type{1}.%method - %message%newline%exception" />
</layout>
Run Code Online (Sandbox Code Playgroud)

我只想保留30天的日志.如何配置log4net自动删除日志?如果没有通过log4net可用,我会有什么解决方案?

先感谢您.

wag*_*ghe 9

这里是另一个问题,从这里问到基本相同的事情: Log4Net:使用滚动日期设置RollingFileAppender上的最大备份文件

共识是log4net不直接支持它.一张海报说它已经在log4net的源代码库中实现,但还没有发布.另一张海报显示了他用来定期清理旧文件的一些代码.


Jer*_*ron -3

应该提供一些帮助。查找 RollingFileAppender 部分

  • 他已经在使用 RollingFileAppender,并且本文档中没有关于您是否可以执行此操作的信息。 (4认同)