Log4net 如何跟踪.ConfigureAndWatch引起的日志级别更改

Log4net 如何跟踪.ConfigureAndWatch引起的日志级别更改,log4net,Log4net,使用.ConfigureAndWatch,我们已将log4net配置为在不重新启动应用程序进程的情况下重新配置其日志记录级别 进程启动时,我们将当前配置的日志级别跟踪到跟踪文件。 如何通过.ConfigureAndWatch检测日志级别的更改并跟踪到跟踪文件?您可以激活,然后在控制台或跟踪输出中发生更改时,您将收到来自ConfigureAndWatchHandler类的消息(有关更多信息,请参阅链接) 回复您的意见:为了将事件拉回到您自己的代码中,而不依赖于控制台或跟踪输出,我建议创建一个自定

使用.ConfigureAndWatch,我们已将log4net配置为在不重新启动应用程序进程的情况下重新配置其日志记录级别

进程启动时,我们将当前配置的日志级别跟踪到跟踪文件。 如何通过.ConfigureAndWatch检测日志级别的更改并跟踪到跟踪文件?

您可以激活,然后在控制台或跟踪输出中发生更改时,您将收到来自
ConfigureAndWatchHandler
类的消息(有关更多信息,请参阅链接)


回复您的意见:为了将事件拉回到您自己的代码中,而不依赖于控制台或跟踪输出,我建议创建一个自定义的。通过这种方式,您可以过滤掉希望带回自己日志中的消息

我刚刚(重新)发现ILogger存储库有一个ConfigurationChanged事件。 从那里跟踪日志级别的更改工作正常

    private static void  repository_ConfigurationChanged(object sender, System.EventArgs e)
{
    var currentTracelLevel = ((log4net.Repository.Hierarchy.Logger)_trace.Logger).EffectiveLevel;
    _trace.InfoFormat("----------------------------- log4net level={0}", currentTracelLevel);
}

我们想跟踪跟踪文件的级别更改。捕捉得好!我没有想到要查看现有的事件,而是专注于XmlConfigurator