我有一个简单的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
分配正确执行。对这种行为非常困惑,并且仍然会喜欢知道原因的人的解释。