log4net自动删除日志文件,摸索记录

已经实现啦,链接在这里:http://blog.csdn.net/hellolib/article/details/78316253


我的需求,跟这位网友一样,想让日志文件自动被删除掉,只保留最近一段时间的。转自:http://bbs.csdn.net/topics/370171242

=============网友需求start===========

如何控制log4net写日志文件的数量
就是其他配置我都已经配置好了,能达到我的要求,日志文件是按日期产生的,如:Log2010.04.07.log,Log2010.04.08.log.
我的意思是想log4net有没有这样的功能:通过配置来控制日志文件的数量。
我担心的是日积月累,怕日志文件太多了。想通过配置web.config来控制,如果我配置只保留7个文件,首先会依次生成7个日志文件:
Log2010.04.07.log
Log2010.04.08.log
Log2010.04.09.log
Log2010.04.10.log
Log2010.04.11.log
Log2010.04.12.log
Log2010.04.13.log
当到04月14日时,删除Log2010.04.07.log文件,再增加Log2010.04.14.log这个日志文件。

不知道log4net本身是否具有这样的功能,如果没有,那只有我自己写代码来判断删除了。

===========网友需求end================



试了网上各种办法,全都失败了,,估计这个功能跟log4net内部其它功能有冲突,实现复杂,所以就没提供吧。


所以,只能自己写代码删除了,我的思路:

在初始化ILog的地方,做一次删除操作,根据命名规则得到日期,只保留最近一年或者三个月以内的文件。

附一个我的配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="log\\log.log" />

        <!--最小锁定模型以允许多个进程可以写入同一个文件-->
        <!--<param name="LockingModel" value="log4net.Appender.FileAppender.MinimalLock" />-->
        <appendToFile value="true" />
        <datePattern value="yyyy-MM-dd'.txt'"/>
        <maximumFileSize value="5000KB" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline"  />
        </layout>
    </appender>
    <logger name="Logging">
        <level value="ALL"/>
        <appender-ref ref="FileAppender" />
    </logger>
    <root>
        <level value="ALL" />
    </root>
</log4net>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值