【发布时间】:2014-07-23 13:15:22
【问题描述】:
我有一个在 Heroku 上运行的 Ruby on Rails 3.2 应用程序。我正在为我的测试套件使用 RSpec。
刚开始的时候,我只是用了
之类的语句p "Order completed at #{Time.now.to_s}"
生成日志。我这样做是因为 Heroku 使用其神奇的 jiggery-pokery 将所有日志转移到 STDOUT。
但是,我的测试套件现在将各种日志打印到 STDOUT,非常分散注意力。我希望在将应用程序部署到 Heroku 时出现这些日志,但我不想在我的 STDOUT 输出中看到它们以及我的 RSpec 输出。
有没有办法将 STDOUT 转移到诸如 log/test.log 之类的文件中,或者使用日志 API 来执行我想要的操作?
【问题讨论】:
-
正确的记录方式是使用
Rails.logger,而不是p。您还可以创建一个自定义记录器,该记录器可以随心所欲地写入,默认为 STDOUT。
标签: ruby ruby-on-rails-3 logging heroku rspec