问题描述
|
Resque工作只是普通的红宝石对象。我可以在其中使用
puts
调用以将输出产生到控制台,也可以使用STDOUT
实例化标准RubyLogger
类并使用它。
但是,有没有从非控制器或模型的地方登录Rails的正确方法?我看到Rails.logger
返回BufferedLogger
,但是当我在其上调用info
或warn
等时,什么也没发生。如果我在其上调用flush
,它将仅返回一个空数组,并且不输出任何内容。
这里的惯例是什么?
解决方法
我不太确定是否有约定。直到最近我才拥有一个非常丑陋的日志系统。现在,我使用木材将log4r与Rails集成。这确实使日志记录变得更好了,因为我现在已经命名了记录器(例如,记录器与类名匹配-非常适合过滤输出),并且我可以在每个记录器(即每个类)的基础上控制日志级别。
如果您想使用graylog2来汇总日志,则还有一个用于log4r的GELF适配器。