我的 Rails.logger 工作得很好,非常感谢,但我也喜欢它写入 STDOUT(也就是说,不是放弃记录到日志文件,而是“Tee”它到标准输出)。
这在 Rails 3 中可行吗?
最佳答案
这个简单的委托(delegate)记录器应该(*)做这个把戏:
class MultiLogger
def initialize *loggers
@loggers = loggers
end
def method_missing *args, &blk
@loggers.each {|l| l.send *args, &blk }
end
def respond_to_missing? *args
@loggers.all? {|l| l.respond_to? *args }
end
end
Rails.logger = MultiLogger.new Rails.logger, Logger.new($stdout)
(*)我没试过
关于ruby-on-rails - 使 Rails.logger tee 写入标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14953558/