不同类别的不同记录器级别

时间:2010-09-23 11:49:18

标签: ruby-on-rails logging

在我的java时代,我习惯于配置记录器,以便不同的类具有不同的级别,即

Person.logger.level = :debug
Address.logger.level = :error

我无法找到使用ruby记录器执行此操作的方法。也许我需要为每个类创建一个单独的记录器?

1 个答案:

答案 0 :(得分:2)

您可能会对称为日志标记的轻量级方法感到满意。标准日志包的不灵活性使我开发并发布了Tagalog,这是一个单文件的开源日志系统。在github上有PHP,Python和Ruby的库版本:

https://github.com/dorkitude/tagalog

或者,特别是对于Ruby版本:

https://github.com/dorkitude/tagalog.rb

在您的案例中使用它的一种简单方法是:

class Person
  def self.log(input):
    return Tagalog::log(input, [:person, :debug])

# ... (rest of class)

end

标记级别的优点是您可以根据需要打开和关闭标记,它们可以是特定于功能的,或者它们可以只是您习惯的级别。