Rails App でエラー発生時にメールを送ったりするには

ApplicationController に rescue_action なるメソッドを追加して,そこに実装すればよい.

class ApplicationController < ActionController::Base
  def rescue_action(e)
    HogeMailer.deliver_error(e.backtrace.join("\n"))

    super
  end
end

最後に super 入れておくと,通常のエラー処理が継続するので,505.html などが表示される.メール送信やログ書き込みなどを『割り込ませたい』ときには付けておくのがいいのではないでしょうか.

##追記

メール送るだけならプラグインがあるそうなので,そっち使った方がいいかも.

[http://dev.rubyonrails.org/browser/plugins/exception_notification/README]

 
comments powered by Disqus