首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式配置RollingFileAppender日期滚动

以编程方式配置RollingFileAppender日期滚动
EN

Stack Overflow用户
提问于 2009-03-04 16:57:22
回答 2查看 2.2K关注 0票数 3

我正在以编程的方式在log4net中配置RollingFileAppender。我现在有这样的东西:

代码语言:javascript
复制
RollingFileAppender fa = new RollingFileAppender();
fa.AppendToFile = true;
fa.RollingStyle = RollingFileAppender.RollingMode.Date;
fa.DatePattern = "yyyyMMdd";
fa.StaticLogFileName = true;
// Set more properties and add the appender to the root repository

这将拒绝根据日期滚动日志。如果我将RollingStyle切换到大小或复合,它将滚动,但只基于大小,而不是基于日期。我试过移除StaticLogFileName并尝试使用DatePattern,但都无济于事。

我必须以编程的方式配置它,因为我不知道运行时的附加器的数量,所以使用XML来配置它是行不通的,我以前就能做到这一点。有人有什么想法吗?我是不是遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-19 16:19:48

这种行为是因为RollingFileAppender (和许多其他附加器以及过滤器)实现了the IOptionHandler interface,它“允许对象延迟激活它的选项,直到所有选项都被设置好。这对于那些相关选项在所有选项都被设置之前保持不明确的组件是必需的”。

并进一步说明:“在设置配置属性后,必须在此对象上调用ActivateOptions方法。在调用ActivateOptions之前,此对象处于未定义状态,不能使用。”

当通过xml文件配置适配器时,您不必考虑激活,因为这是由log4net配置器完成的。

票数 3
EN

Stack Overflow用户

发布于 2009-03-06 16:55:26

在设置文件附加器之后,但在将附加器添加到层次结构之前,我添加了对ActivateOptions()的调用,这似乎起作用了。为什么一些期权在没有看涨期权的情况下仍然有效,而另一些则没有,这是一个改天再问的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/611483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档