Оповещение об ошибках в Rails3

Автор — Евгений Лапин, дата — 11.02.2011

Как было сказано в предыдущем посте, очень полезно получать сообщения об ошибках приложения в production окружении.

С выходом rails3 концепция немного меняется.

Подразумевается, что управление gem‘ами находится в руках bundle‘а, а оповещение будет работать только в production окружении.

В Gemfile прописываем зависимость:

group :production do
gem "exception_notification_rails3", :require => "exception_notifier"

end

В config/environments/production.rb прописываем настройки gem‘а:

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

Или создаём файл config/initializers/exception_notification.rb и прописываем настройки gem‘а:

NameOfYourApplication::Application.config.middleware.use ExceptionNotifier,
:email_prefix => "[APP ERROR] ",
:sender_address => %{"notifier" <notifier@domain.com>},
:exception_recipients => %w{recipient@domain.com}

И создаем (если еще нету) настройки ActionMailer::Base. Я обычно складываю в config/initializers/setup_mail.rb:

ActionMailer::Base.smtp_settings = {
:address => "smtp.domain.com",
:port => 25,
:domain => "site.domain.com",
:user_name => "asciicasts",
:password => "secret",
:authentication => "plain",
:enable_starttls_auto => true
}

И последнее – говорим:

$ bundle install

Метки: ,

В разделах: Ruby on rails, Разработка