ruby-on-rails - 使 Rails.logger tee 写入标准输出

标签 ruby-on-rails ruby logging

我的 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/

相关文章:

ruby - 如何使用 Doxygen 记录 Ruby 代码?

java - SLF4J 按标记过滤日志消息

ruby-on-rails - after_create和after_save顺序

ruby-on-rails - 如何将 Pry 与 Cucumber/Capybara 一起使用?

ruby - 为什么我不能使用 |a,b|而不是 |(a,b)|在 arr.map { |(a, b)| !b.nil? ?一个 + b : a }?

ruby - 为什么 fixnum 没有特征类?

Java JNA 将输出重定向到记录器

java - 使用 mmc Rest API 将日志文件从后端发送到 UI - 仅发送文件中的更改的逻辑

ruby-on-rails - RoR : update action. 出错时的渲染路径

sql - Rails 4 清理用户输入