我有一个简单的 Rails 4 应用程序,它显示在 localhost 和 Heroku 上运行之间的不同行为。我正在尝试通过日志调试此行为,但我发现puts
我logger.info
对heroku logs
. 然而,在视图中,puts
调用工作正常。
我已经config.log_level = :info
设置/config/environments/production.rb
并且我知道puts
应该执行相关的控制器语句,因为在控制器方法中放置在它们之后的语句正在执行。
我知道这会影响日志记录gem 'rails_12factor', '0.0.2'
,group :production
但我不完全理解如何。
对于为什么会发生这种情况或我可以做些什么来解决任何建议,我将不胜感激。
编辑
所以我的控制器中有两个调用:
logger.info "in load_messages, id: #{params[:cId]}"
@current_conversation = Conversation.find(params[:cId])
logger.info "in load_messages, current_conversation: #{@current_conversation}"
# OTHER CODE THAT WAS EXECUTING PROPERLY
@current_conversation
没有被加载,这些日志也没有被执行。一旦我删除了这两个logger.info
调用,@current_conversation
分配就正确执行了。对这种行为感到非常困惑,并且仍然希望知道这是为什么的人的解释。