在我的java时代,我习惯于配置记录器,以便不同的类具有不同的级别,即
Person.logger.level = :debug
Address.logger.level = :error
我无法找到使用ruby记录器执行此操作的方法。也许我需要为每个类创建一个单独的记录器?
答案 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
标记级别的优点是您可以根据需要打开和关闭标记,它们可以是特定于功能的,或者它们可以只是您习惯的级别。