exception_notificationでRailsのエラー発生時にメールを送信する

今回はexception_notificationを使ってみます
gmailを利用してエラー発生時にメールを送信する
※トップページ表示用コントローラを以下のようにして
local variable or methodが発生するように仕込んでおいた

def index
  aaa #存在しないメソッド
end

まずはインストール
$ gem install exception_notification

プロジェクト/Gemfile に以下を追加
gem ‘exception_notification’, :require => ‘exception_notifier’

ActionMailerの設定を行う
こちらのGMailを参照
参照先の通りsmtp_tls.rbを作成して、
プロジェクト/config/environment.rbを記載してある通り設定する。
尚、参照先の通りそのままコピペすると
シングルコーテーション、ダブルコーテーションが全角なのでエラーとなるので注意。
※ユーザ名、パスワード等は環境に合わせて変更すること

開発環境で使うので
プロジェクト/config/environments/development.rb に以下を追加

config.middleware.use ExceptionNotifier,
:email_prefix => “[Whatever] “, # Subjectのpreフィックスを記述
:sender_address => %{“notifier” }, # Fromを記述
:exception_recipients => %w{exceptions@example.com} # mail送信する一覧を記述
※メールアドレスは環境に合わせて変更すること

$ rails -s
ブラウザで http://localhost:3000/ にアクセス

↓受信したメール↓
A NameError occurred in top#index:

undefined local variable or method `a’ for #
app/controllers/top_controller.rb:5:in `index’

——————————-
Request:
——————————-

* URL : http://localhost:3000/
* IP address: 127.0.0.1
* Parameters: {“controller”=>”top”, “action”=>”index”}

なかなか情報が少なく苦労しましたが、
なんとか設定完了
gmail使って送信しているので、gmailの送信済みメールでも確認できます

 

コメントを残す