Как Hoptoad помогает на тестовом сервере
March 26, 2010 , revised June 5, 2010 in Ruby on RailsИтак, Hoptoad – это такая продвинутая штука для записывания исключений в Rails-приложениях. Его использование выливается в то, что каждое новое исключение логируется, а также при желании отправляется тебе на почту. Удобно.
Но речь не об этом, а о том, что Hoptoad можно использовать на отладочном сервере (назовем его staging) для упрощения работы тестера. Для этого нужно настроить его так, чтобы он ошибку и показывал, и отправлял в Hoptoad.
По умолчанию Hoptoad логирует ошибки только тогда, когда не показывает (consider_all_requests_local = false
). Самый простой способ это изменить – переопределить метод в ApplicationController:
#consider_all_requests_local должен быть true class ApplicationController < ActionController::Base def rescue_action_locally(exception) if Rails.env == "staging" # or something else unless hoptoad_ignore_user_agent? HoptoadNotifier.notify_or_ignore(exception, hoptoad_request_data) end rescue_action_locally_with_hoptoad(exception) end super(exception) end end
Результатом этого будет то, что ошибки с staging будут сыпаться в hoptoad и можно будет вместо неудобных скриншотов передавать ссылки на hoptoad (где также видно, сколько раз встречалась ошибка, когда последний раз и т.п.)
Чего не хватает? Ссылки на Hoptoad прямо со страницы ошибки, конечно!
UPD: Чтоб появились ссылки, нужно стянуть с гитхаба патченный файл vendor/plugins/hoptoad_notifier/lib/templates/rescue.erb и подложить в проект.
Теперь каждое сообщение об ошибке на staging будет сопровождаться вот такой вот красной ссылкой прямо на ошибку:
Понравился пост? Купи мне кофе