我对 Rails 记录器感到好奇。
当我在代码中插入 Rails.logger.info("Some text") 时,通常是为了跟踪流程,我在控制台中得到两行“Some text”输出。
这通常不是什么大问题,但是当我转储较大对象的内容时,输出可能会变得很麻烦。
在我升级到 Rails 4 之前,这似乎从未发生过,或者至少,我不记得它发生过。
有谁知道这里发生了什么,以及是否有办法停止复制日志输出?
我对 Rails 记录器感到好奇。
当我在代码中插入 Rails.logger.info("Some text") 时,通常是为了跟踪流程,我在控制台中得到两行“Some text”输出。
这通常不是什么大问题,但是当我转储较大对象的内容时,输出可能会变得很麻烦。
在我升级到 Rails 4 之前,这似乎从未发生过,或者至少,我不记得它发生过。
有谁知道这里发生了什么,以及是否有办法停止复制日志输出?
尝试将 rails_12factor gem(如果已安装)移动到生产组。
group :production do
gem 'rails_12factor'
end
这个小解决方法解决了我的问题。按着这些次序:
在 Rails 外部库下,搜索 railties 模块。转到此路径:/lib/commands/server.rb
在这个文件中注释这一行,Rails.logger.extend(ActiveSupport::Logger.broadcast(console))
此命令将关闭广播,然后重新启动您的 Rails 服务器。您将不会再看到任何重复的日志。快乐编码。
有关更多信息,请查看 Rails 的此问题页面: https ://github.com/heroku/rails_stdout_logging/issues/1