Log4net:如何在运行时启用调试日志记录?
在测试环境中,调试日志已启用,因此我可以看到详细的调试日志消息。在生产环境中,我希望在默认情况下禁用调试日志,但仍然希望在需要时启用/禁用它 我可以在运行时启用调试日志而不重新启动应用程序吗?我的日志代码如下所示:Log4net:如何在运行时启用调试日志记录?,log4net,Log4net,在测试环境中,调试日志已启用,因此我可以看到详细的调试日志消息。在生产环境中,我希望在默认情况下禁用调试日志,但仍然希望在需要时启用/禁用它 我可以在运行时启用调试日志而不重新启动应用程序吗?我的日志代码如下所示: if(logger.IsDebugEnabled) Logger.Debug("debug message"); 您可以通过设置更改为loglevel,然后应用新设置: ((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetR
if(logger.IsDebugEnabled) Logger.Debug("debug message");
您可以通过设置更改为loglevel,然后应用新设置:
((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).Root.Level = Level.Debug;
((log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository()).RaiseConfigurationChanged(EventArgs.Empty);
通常的做法是让log4net监视app.config或配置文件的更改 例如使用属性
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
或
并且可以将默认配置配置为设置注销
然后,对配置文件的任何更改都将立即生效,而无需重新启动程序
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(logConfigFilename));