讓Rails程序出現異常錯誤等自動發送錯誤郵件 - exception_notification

第一次配置時,網上資料較亂,走了很多彎路。特在此記錄。 git

配置環境:Ruby 1.9.3  Rails 3.2.2 github

1.安裝 exception_notification  gem ruby

在Gemfile中添加 服務器


gem 'exception_notification', '3.0.0'
注:我第一次使用的是最新版本4.0.0,遇到一個錯誤 undefined method `underscore' for nil:nilclass 沒法解決,後來換了3.0.0 就OK了


2.在environment.rb中配置 app

這是個人environment.rb, 僅供參考 dom

其中HELLOWORLD爲你本身的APP名稱 測試

# Load the rails application
require File.expand_path('../application', __FILE__)                                             #這裏配置 只有非開發環境才發送錯誤郵件
if Rails.env != "development"
  HELLOWORLD::Application.config.middleware.use ExceptionNotifier,
    :email_prefix => "這是郵件前綴",
    :sender_address => %{"Warn!" 發信人郵箱@qq.com},                                                         #收件人 可配置多個
    :exception_recipients => ["123456@qq.com","654321@qq.com"],
    :delivery_method => :smtp,                                                                      #郵件服務器配置
    :smtp_settings => {
        :address => "smtp.gmail.com",
        :port => "587",
        :domain => "gmail.com",
        :authentication => "plain",
        :user_name => "XXXXX@gmail.com",
        :password => "*********",
        :enable_starttls_auto => true
    }

end

# Initialize the rails application
HELLOWORLD::Application.initialize!

3.重啓一下Rails程序 若是你是開發環境下測試,注意修改上面的配置 ui

如今 若是程序出現異常 你應該會收到一封錯誤郵件 包含具體的報錯信息 spa

其餘的具體使用方法:https://github.com/smartinez87/exception_notification code

相關文章
相關標籤/搜索