我在用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>
我只想保留30天的日志。如何配置log4net自动删除日志?如果没有通过log4net提供,我会有什么解决方案?
提前谢谢。
答案 0 :(得分:9)
这是另一个问题,从这里问到基本上是同一件事: Log4Net: set Max backup files on RollingFileAppender with rolling Date
共识是log4net不直接支持它。一张海报说它已经在log4net的源代码库中实现,但还没有发布。另一张海报展示了他用来定期清理旧文件的一些代码。
答案 1 :(得分:4)
我很确定你不能使用现有的appender,虽然我无法确认。
但是,我看到两个选项:
答案 2 :(得分:-1)
This应该提供一些帮助。查找RollingFileAppender部分