在Heroku上调试500错误,没有任何错误消息

时间:2012-10-09 07:06:19

标签: ruby-on-rails heroku

这让我疯了。开发环境中没有错误。部署到Amazon EC2时,生产环境中没有错误。

然而,在Heroku上,它在访问特定页面时给出了500错误。除了500错误消息之外没有其他消息。

2012-10-09T06:50:02+00:00 app[web.1]: Completed 500 Internal Server Error in 72ms (Views: 11.5ms | ActiveRecord: 44.2ms)

这就是我的全部。没有其他错误消息。我甚至将日志记录级别设置为“DEBUG”。

我该怎么做才能找出导致Heroku出现500错误的原因?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

事实证明这与sass无关。我不得不捕获500错误并显示堆栈跟踪以确切地找出导致错误的原因并修复它。

在辅助函数中,我有

rand(1..size)

这导致了Heroku上的错误,但是在开发环境和EC2上都没有。我不得不将其修改为

rand(size)

并修复了它。

打印堆栈跟踪后,很容易找出导致错误的原因。

我写了一篇关于捕获400和500错误的博客文章,以便您可以做更多有趣的事情。

http://blog.yangtheman.com/2012/10/11/user-friendly-500-and-404-pages-on-rails-3/

答案 1 :(得分:1)

您是否检查过您的资产是否在部署到Heroku时进行了预编译?破坏的资产管道可以在运行时创建500个错误,几乎没有记录说明。