Heroku logs reveal no errors yet most of my URLs read "We're sorry, but something went wrong."
My app works wonderfully on my local machine but when I create my first post after pushing the app to Heroku I get "We're sorry, but something went wrong." on every page except /posts/new
The heroku logs
command reveals:
2011-05-30T19:24:02+00:00 heroku[api]: Set maintenance mode off by myemailaddress@blah.com
2011-05-30T19:24:04+00:00 heroku[web.1]: Unidling
2011-05-30T19:24:04+00:00 heroku[web.1]: State changed from created to starting
2011-05-30T19:24:08+00:00 heroku[web.1]: Starting process with command: `thin -p 54761 -e production -R /home/heroku_rack/heroku.ru start`
2011-05-30T19:24:16+00:00 heroku[web.1]: State changed from starting to up
2011-05-30T19:24:17+00:00 heroku[router]: GET mywebsite.com/ dyno=web.1 queue=0 wait=0ms service=1172ms bytes=934
2011-05-30T19:24:17+00:00 heroku[router]: GET mywebsite.com/ dyno=web.1 queue=1 wait=1171ms service=58ms bytes=934
2011-05-30T19:26:27+00:00 heroku[router]: GET mywebsite.com/new dyno=web.1 queue=0 wait=0ms service=18ms bytes=4324
2011-05-30T19:26:27+00:00 heroku[router]: GET mywebsite.com/stylesheets/style.css dyno=web.1 queue=0 wait=0ms service=1ms bytes=5716
2011-05-30T19:26:28+00:00 heroku[router]: GET mywebsite.com/javascripts/jquery-ui-1.8.13.custom.min.js dyno=web.1 queue=0 wait=0ms service=8ms bytes=20496
2011-05-30T19:26:28+00:00 heroku[router]: GET mywebsite.com/javascripts/rails.js dyno=web.1 queue=0 wait=0ms service=1ms bytes=12951
2011-05-30T19:26:28+00:00 heroku[router]: GET mywebsite.com/stylesheets/jquery-ui-1.8.13.custom.css dyno=web.1 queue=0 wait=0ms service=9ms bytes=21082
2011-05-30T19:26:28+00:00 heroku[router]: GET mywebsite.com/images/newlogo.png dyno=web.1 queue=0 wait=0ms service=4ms bytes=2804
2011-05-30T19:27:18+00:00 heroku[router]: GET mywebsite.com/robots.txt dyno=web.1 queue=0 wait=0ms service=1ms bytes=455
2011-05-30T12:27:19-07:00 heroku[nginx]: GET /robots.txt HTTP/1.1 | 207.46.195.229 | 486 | http | 200
2011-05-30T19:27:59+00:00 heroku[router]: GET mywebsite.com/ dyno=web.1 queue=0 wait=0ms service=32ms bytes=934
2011-05-30T12:27:59-07:00 heroku[nginx]: GET / HTTP/1.1 | 207.46.195.229 | 965 | http | 500
2011-05-30T19:29:18+00:00 heroku[router]: GET mywebsite.com/ dyno=web.1 queue=0 wait=0ms service=21ms bytes=934
2011-05-30T12:29:19-07:00 heroku[nginx]: GET / HTTP/1.1 | 24.16.162.252 | 965 | http | 500
2011-05-30T19:29:28+00开发者_运维问答:00 heroku[router]: GET mywebsite.com/ dyno=web.1 queue=0 wait=0ms service=30ms bytes=934
2011-05-30T12:29:29-07:00 heroku[nginx]: GET / HTTP/1.0 | 207.46.195.229 | 965 | http | 500
2011-05-30T19:34:45+00:00 heroku[router]: GET mywebsite.com/posts dyno=web.1 queue=0 wait=0ms service=46ms bytes=934
2011-05-30T19:34:53+00:00 heroku[router]: GET mywebsite.com/posts/1 dyno=web.1 queue=0 wait=0ms service=45ms bytes=934
Heroku customer service isn't available today due to the holiday. I was wondering if anyone knows how I might troubleshoot this. I have expanded logging enabled.
This is not a direct answer to the question above, but more for the related issue of why logs on Heroku are not detailed enough.
For those who arrive at this SO post, as I did, because they have sparse logs and can't understand why, and have Rails 4, note that you need the rails_12factor gem in your Gemfile
in order to get detailed debug level logs in your Heroku logs. Essentially, adding the gem enables STDOUT logging in Rails4, without which your debug level logs information is not passed into the Heroku logs.
Plus, of course, you have to enable log level debugging in your config/environments/production.rb
file:
config.log_level = :debug
If nothing appears in the logs it is likely that your app has some sort of issue starting up.
Try running it in production mode locally, see if anything generates an exception when starting up the server.
rails server -e production
精彩评论