Every Ruby on Rails project I have been involved in has used the Exception Notification gem. It sends you an email with very helpful debugging information whenever your application breaks in the real world. However, I’ve seen people fail to ensure that it actually works in their production environments–not when they first launch their site, but weeks and months afterward when it really matters. If your production environment changes, your application may fail, but you might not get an email about it because that which broke might have affected email sending. And you’ll think everything is honky-dory. Make sure you have something like this in your application and that you test it periodically to ensure you’re getting exception notification emails.
In config/routes.rb
:
map.connect 'test_exception_notifier', :controller => 'application', :action => 'test_exception_notifier'
In app/controllers/application_controller.rb
:
def test_exception_notifier raise 'This is a test. This is only a test.' end
I also recommend adding this to a periodic test script and your deploy script so you don’t have to remember to test it.