17

我对 Rails 记录器感到好奇。

当我在代码中插入 Rails.logger.info("Some text") 时,通常是为了跟踪流程,我在控制台中得到两行“Some text”输出。

这通常不是什么大问题,但是当我转储较大对象的内容时,输出可能会变得很麻烦。

在我升级到 Rails 4 之前,这似乎从未发生过,或者至少,我不记得它发生过。

有谁知道这里发生了什么,以及是否有办法停止复制日志输出?

4

2 回答 2

49

尝试将 rails_12factor gem(如果已安装)移动到生产组。

group :production do
  gem 'rails_12factor'
end
于 2013-11-20T02:48:29.407 回答
1

这个小解决方法解决了我的问题。按着这些次序:

在 Rails 外部库下,搜索 railties 模块。转到此路径:/lib/commands/server.rb

在这个文件中注释这一行,Rails.logger.extend(ActiveSupport::Logger.broadcast(console))

此命令将关闭广播,然后重新启动您的 Rails 服务器。您将不会再看到任何重复的日志。快乐编码。

有关更多信息,请查看 Rails 的此问题页面: https ://github.com/heroku/rails_stdout_logging/issues/1

于 2014-09-19T17:15:40.800 回答