Как добавить некоторые дополнительные параметры в параметры воздушного тормоза для ошибок JS
Когда мы отправляем ошибку airbrake на сервер airbrake, по умолчанию она включает имя контроллера и имя действия.
Но вопрос в том, что я хочу добавить некоторые дополнительные параметры, такие как username
, email
текущего пользователя. Если у кого есть идеи, пожалуйста, предложите, как это сделать?
В моем макете application.html:
- if ['development'].include?(Rails.env)
= airbrake_javascript_notifier
= render :partial => 'layouts/airbrake_notifier'
и в частичном я написал:
Airbrake.errorDefaults['name'] = "#{current_user.name}";<br/>
Airbrake.errorDefaults['email'] = "#{current_user.email}";<br/>
Airbrake.errorDefaults['phone'] = "#{current_user.phone}";<br/>
Airbrake.errorDefaults['title'] = "#{current_user.title;<br/>
2 ответа
Не очень удачное решение, но База знаний Airbrake рекомендует по существу исправлять источник драгоценного камня airbrake в файле lib/airbrake/note.rb.
def initialize(args)
...
self.parameters = args[:parameters] ||
action_dispatch_params ||
rack_env(:params) ||
{'username' => current_user.name}
Конечно, было бы лучше, чтобы это можно было настроить без исправления исходного кода.
Вместо этого я просто добавил несколько сессий данных в сеанс (главным образом, current_user.name), поскольку данные сеанса отправляются вместе с запросом. Я бы не стал делать это для нескольких маленьких кусочков данных.
Мы только что добавили получение пользователей в Airbrake Gem. https://github.com/airbrake/airbrake/wiki/Sending-current-user-information
Вскоре вы сможете сортировать по текущему пользователю в предстоящем редизайне пользовательского интерфейса.