如何以编程方式更新 log4net 配置

问题描述

我找到了很多以编程方式生成完整 log4net 配置的方法,但找不到任何方式以编程方式更新现有配置。

我正在我的 global.asax.cs 文件中尝试此操作

log4net.Config.XmlConfigurator.Configure();
var hierarchy = (Hierarchy)LogManager.GetRepository();
var appender = (log4net.Appender.RollingFileAppender)hierarchy.Root.GetAppender("normalLogFileAppender");
if (appender != null)
{
    appender.ClearFilters();

    var filter = new log4net.Filter.LevelRangeFilter();
    filter.LevelMin = Level.Info;
    filter.LevelMax = Level.Emergency;
    filter.AcceptOnMatch = true;

    appender.AddFilter(filter);
    appender.ActivateOptions();
    log4net.Config.XmlConfigurator.Configure();
}

它读取 appender,但不更新它。

我发现了这个问题,

How can I programmatically update log4net configuration file?

据此,没有这样的标准方法可以做到这一点。

现在有办法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)