ExceptionNotifierでproduction環境のエラーをメールで通知

環境

  • Rails 2.3.2
  • Ruby 1.8.7

インストール

# RAILS_ROOTで実行
$ ruby script/plugin install git://github.com/rails/exception_notification.git

設定

app/controllers/application_controller.rbに追記

include ExceptionNotification::Notifiable

config/environment.rbに追記

# 通知メールのタイトルの接頭語
ExceptionNotification::Notifier.email_prefix = "[Hoge]"

# 通知メールの送信元
ExceptionNotification::Notifier.sender_address = %("HogeFuga" <mail@hoge.fuga>)

# 通知先メールアドレスの配列
ExceptionNotification::Notifier.exception_recipients = %w(admin@hoge.fuga)

設定は上記で完了。早速実行してみるとエラーがでた

no such file to load -- action_dispatch (MissingSourceFile)

ActionDispatchはRails3から導入されたものだそう。

よくよくみるとRails2用はbranchが切られているのでこちらをインストールする

# branchをrオプションで指定する
ruby script/plugin install git://github.com/rails/exception_notification.git -r 2-3-stable

500エラーだすと指定したメールアドレスにメールが飛んでくる。