傑克達與瑞兒絲的大小事

快速筆記整理網站開發上碰到的各種技巧和問題,免得年紀大忘光,至少還有一個地方可以查找

Rails 專案遇到錯誤時,如何執行發信通知功能

最近在專案上遇到一個需求,也就是當 Rails 專案在線上環境遇到錯誤時,要能發信通知開發者,方便快速反應修正問題。透過咕歌大神搜尋後,找到幾個解決方案,其中利用 exception_notification_rails3 gem 看來是最佳的解法,趕快筆記一下

使用方法:

1. 修改 Gemfile,加入以下指令

$ gem 'exception_notification_rails3', '~> 1.2.0', :require => 'exception_notifier'

2. 設定完成後,請執行 bundle 安裝 gem

$ bundle

3. 因為只針對線上 production 的環境才需要執行發信操作,所以開啟 config/environments/production.rb 加入以下設定

config.middleware.use ::ExceptionNotifier,
:email_prefix => "[ERROR] ",
:sender_address => %{"Notifier" <notifier@yourdomain.com> },
:exception_recipients => %w{exceptions@yourdomain.com}

email_prefix: 信件主旨的前綴詞,可自行定義
sender_address: 信件的寄件者
exception_recipients: 信件的收件者,如果有多個收件者,記得用空白隔開,如: %w{abc@yourdomain.com xyz@yourdomain.com}

附註:

如果你希望在 development 和 production 二個環境下都要能收到錯誤通知,可以直接在 config/applicaiton.rb 加入設定

參考文章:

https://github.com/rails/exception_notification

http://ryanwilliams.org/2010/Nov/04/exception-notification-in-rails-3

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: