将Log4Net RollingFileAppender设置为每周滚动一次

Uns*_*ced 5 .net c# log4net rollingfileappender

DatePattern字符串需要的东西的SimpleDateFormatter 会接受.

不幸的是,这意味着,开箱即用,这不包括能够将边界设置为周数.有一些方法可以在C#中获得这个值,但是我们可以扩展SimpleDateFormatter或提供不同的实现IDateFormatter并使用它(甚至在自定义中RollingFileAppender)并不明显.

那么我们怎样才能让Log4Net RollingFileAppender每周滚动一次?

Ste*_*gli 1

事情没那么简单。RollingFileAppender 用于DateTime.ToString()确定“滚动点”。log4net 帮助的声明没有错误,因为它SimpleDateFormatter也使用此方法,但它有点误导:您不能注入不同的日期格式化程序来使滚动文件附加程序按照您想要的方式工作。

如果您确实需要按周滚动功能,那么最简单的方法是从 派生RollingFileAppender并重写该AdjustFileBeforeAppend()方法。没有测试这个,但这应该可以解决问题。