Log4r Yaml配置动态变化

时间:2015-09-18 12:58:35

标签: ruby logging yaml log4r

我正在尝试在ruby中使用Log4r进行日志记录。我希望能够动态地动态更改记录器的yaml配置文件(例如:日志级别),并让该更改自动传播到记录器。我知道文档Log4r documentation表明:

“动态重新定义级别,跟踪或可加性是昂贵的。最好在配置脚本中设置所有记录器,避免对Log4r对象进行动态更改。”

但是,有什么办法可以做到这一点吗?我找到了我想模仿的代码here

def check_config
  # auto reload config every 30 seconds.
  return unless check_again?
  detect_existing_config_path
  return if File.mtime(@config_path) == @config_time
  Log4r::YamlConfigurator.load_yaml_file @config_path
  @config_time = File.mtime(@config_path)
  rescue Log4r::ConfigError => e
    puts "Log4r Error: Unable to load config #{@config_path}, error: #{e}."
end

上面的代码来自我关注的特定功能的链接。但是,调用Log4r::YamlConfiguration.load_yaml_file @config_path似乎不会动态更新记录器。任何人都有动态更改Log4r配置属性的经验/建议吗?

0 个答案:

没有答案