从后台Resque作业写入日志输出的“正确”方式?

问题描述

| Resque工作只是普通的红宝石对象。我可以在其中使用
puts
调用以将输出产生到控制台,也可以使用
STDOUT
实例化标准Ruby
Logger
类并使用它。 但是,有没有从非控制器或模型的地方登录Rails的正确方法?我看到
Rails.logger
返回
BufferedLogger
,但是当我在其上调用
info
warn
等时,什么也没发生。如果我在其上调用
flush
,它将仅返回一个空数组,并且不输出任何内容。 这里的惯例是什么?     

解决方法

        我不太确定是否有约定。直到最近我才拥有一个非常丑陋的日志系统。现在,我使用木材将log4r与Rails集成。这确实使日志记录变得更好了,因为我现在已经命名了记录器(例如,记录器与类名匹配-非常适合过滤输出),并且我可以在每个记录器(即每个类)的基础上控制日志级别。 如果您想使用graylog2来汇总日志,则还有一个用于log4r的GELF适配器。