How do you diagnose a 500 error on Heroku when there is no error message in the logs?

百般思念 提交于 2019-11-27 03:04:29

问题


I have a Rails app on Heroku that is serving 500 errors at random intervals. Web pages will display "Internal server error" in plain text, instead of the usual "We're sorry. Something went wrong." page. When I refresh the page, it works fine.

The logs don't show me an error message, just

» 14:20:34.107 2013-10-11 12:20:33.763690+00:00 heroku router - - at=info method=HEAD path=/ host=www.mydomain.com fwd="184.73.237.85/ec2-184-73-237-85.compute-1.amazonaws.com" dyno=web.1 connect=1ms service=63ms status=200 bytes=0
» 14:21:03.957 2013-10-11 12:21:03.561867+00:00 heroku router - - at=info method=GET path=/ host=www.mydomain.com fwd="50.112.95.211/ec2-50-112-95-211.us-west-2.compute.amazonaws.com" dyno=web.1 connect=0ms service=1ms status=500 bytes=21

Support has told me to look at request queuing in New Relic, but New Relic only shows a big red mark saying the server is down (even though the site works fine when refreshed).

With no error messages, I'm at a loss for how to diagnose this issue.


回答1:


In Heroku, I diagnose errors with LogEntries -- its far easier than the Heroku logs to diagnose errors.

What I do is load up the app, and in the LogEntries panel, go to "Live (Beta)". This shows any errors which appear, and are generally very explanatory

Just something that might help




回答2:


Try adding the rails_12factor gem to get a more robust error log ( only if you're using Heroku ).

Make sure you rake db:migrate your database on Heroku with heroku run rake db:migrate




回答3:


The solution that worked for me when deploying my Django apps to Heroku is to go into the production.py file and change the code DEBUG = FALSE to DEBUG = TRUE. In this way, you should be able to see the errors that Django displays. Be aware that once you have found the error and have done the corrections, this setting must be changed back to FALSE.



来源:https://stackoverflow.com/questions/19410811/how-do-you-diagnose-a-500-error-on-heroku-when-there-is-no-error-message-in-the

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!