Как добавить некоторые дополнительные параметры в параметры воздушного тормоза для ошибок 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

Вскоре вы сможете сортировать по текущему пользователю в предстоящем редизайне пользовательского интерфейса.

Другие вопросы по тегам