【问题标题】:Log4net: How to enable debug logging at runtime?Log4net:如何在运行时启用调试日志记录?
【发布时间】:2016-12-01 18:08:02
【问题描述】:

在测试环境中,调试日志是开启的,所以我可以看到详细的调试日志信息。在生产环境中,我想默认禁用调试日志,但如果需要仍想启用/禁用它。

我可以在运行时启用调试日志而不重新启动我的应用程序吗?我的日志代码如下所示:

if(logger.IsDebugEnabled) Logger.Debug("debug message");

【问题讨论】:

    标签: log4net


    【解决方案1】:

    您可以通过设置更改为日志级别,然后应用新设置:

    ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.Level = Level.Debug;
    ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).RaiseConfigurationChanged(EventArgs.Empty);
    

    【讨论】:

      【解决方案2】:

      执行此操作的正常方法是让 log4net 监视对 app.config 或配置文件的更改。

      例如使用属性

      [assembly: log4net.Config.XmlConfigurator(Watch=true)]
      

      log4net.Config.XmlConfigurator.ConfigureAndWatch(new  System.IO.FileInfo(logConfigFilename));
      

      并且可以配置默认配置来设置注销。

      然后对配置文件的任何更改将立即生效,而无需重新启动程序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-09
        • 1970-01-01
        • 2016-06-05
        • 2014-11-02
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        相关资源
        最近更新 更多