Как Hoptoad помогает на тестовом сервере 26 марта 10
Итак, 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 будет сопровождаться вот такой вот красной ссылкой прямо на ошибку:

Подписаться на RSS

Комментарии
Уиии!
Гм. Ты наивен. :)
еще нужно закоvментировать эти строки:
Добавить после строки
строку
И добавить параметр функции initialize:
;)
Надо было дифф прогнать, да? :) Спасибо, чуть порефакторил и вылил на гитхаб.
Раз уж на то пошло, вот тебе подсказка. :)
Форкни Hoptoad Notifier и поменяй файл там, по крайней мере можно будет этим делом управлять.
Да ну, ради одного файла?
Дело не только в одном файле. Дело в том, что мы таким образом сможем, в частности, еще и обновлять этот плагин, используя уже твой репозитарий.
[...] This post was mentioned on Twitter by Leonid Shevtsov. Leonid Shevtsov said: Вы все еще обмениваетесь скриншотами ошибок? Тогда мы идем к вам! http://l-s.me/s/w86 [...]