【问题标题】:Rails logger logging to consoleRails 记录器记录到控制台
【发布时间】:2017-08-02 04:27:53
【问题描述】:

我正在使用 Rails 记录器在我的 Rails 4 应用程序中记录信息。 我的配置中没有设置config.logger=Logger.new(STDOUT),只保留logger的默认选项。但是,除了/log文件夹下的日志文件外,使用Rails.logger.info语句时,信息仍然会打印到控制台。

为什么会发生这种情况,因为我只希望日志信息在日志文件中,而不是打印到控制台?谢谢

【问题讨论】:

  • 旁注:这仅发生在开发环境中。你真的想禁止在dev 中记录到控制台吗?
  • 哦,我不知道这只发生在开发环境中。这有助于解释很多。谢谢

标签: ruby-on-rails ruby logging


【解决方案1】:

这就是rails s 的行为方式。它将日志放在log/development.log 中,并在命令行中显示。因为这对大多数情况来说更方便。

无论如何,如果你不想要它,你可以像这样运行你的服务器:

rails s 1> /dev/null

这会将所有文本重定向到 /dev/null

【讨论】:

  • 1 in 1> 是多余的。此外,rails logger 可能被配置为避免向控制台打印任何内容;进行该打印,即使随后重定向到 /dev/null,也会减慢速度并且不应使用。
【解决方案2】:

如果您只想在 log/development.log 中而不是在控制台中打印日志,请使用以下命令启动您的 rails server

rails s > log/development.log

【讨论】:

  • 这是“如何拧紧导轨”的建议。你不觉得将输出重定向到已经被rails打开用于写入文件不是最好的主意吗?
  • @mudasobwa:他不想在控制台中打印日志,所以上面会根据问题来工作
  • @mudasobwa:我已经在上面执行了,我无法在控制台中看到日志。所有日志都在 log/development.log 文件中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-09
  • 2017-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-26
相关资源
最近更新 更多