gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 00:45:48 24 4
gpt4 key购买 nike

我正在以编程方式在 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 来配置它是行不通的,我过去一直能够使用它。有人有什么想法吗?我错过了什么吗?

最佳答案

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

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

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

关于log4net - 以编程方式配置 RollingFileAppender 日期滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/611483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com