Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Log4net 以编程方式配置RollingFileAppender日期滚动_Log4net - Fatal编程技术网

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

Log4net 以编程方式配置RollingFileAppender日期滚动,log4net,Log4net,我正在以编程方式在log4net中配置RollingFileAppender。我现在有这样的事情: RollingFileAppender fa = new RollingFileAppender(); fa.AppendToFile = true; fa.RollingStyle = RollingFileAppender.RollingMode.Date; fa.DatePattern = "yyyyMMdd"; fa.StaticLogFileName = true; // Set mor

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

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切换为Size或Composite,那么它将滚动,但只基于大小,而不基于日期。我尝试删除StaticLogFileName,并尝试使用DatePattern,但没有效果


我必须以编程的方式配置它,因为我不知道运行时追加器的数量,所以使用XML配置它是不可能的,我过去一直能够使用XML。有人有什么想法吗?我错过什么了吗

在设置文件appender之后,但在将appender添加到层次结构之前,我添加了一个对ActivateOptions()的调用,这似乎有效。为什么有些选项没有调用就卡住了,而其他选项没有调用,这是另一天的问题。

这种行为是因为RollingFileAppender(以及许多其他Appender和筛选器)实现了“允许对象延迟激活其选项,直到设置完所有选项。这对于具有相关选项的组件是必需的,这些选项在设置完所有选项之前一直不明确”

此外:“在设置配置属性之后,必须在此对象上调用该方法。在调用ActivateOptions之前,此对象处于未定义状态,不得使用。“

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