如何在airbrake参数中为JS错误添加一些额外的参数

时间:2012-05-24 07:46:54

标签: airbrake

当我们将空气制动器错误发送到空气制动服务器时,默认情况下它包含控制器名称和操作名称。

但问题是我想添加一些额外的参数,例如当前用户的usernameemail。如果有人有任何想法,请建议如何做到这一点?

在我的布局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 个答案:

答案 0 :(得分:1)

不是一个很好的解决方案,但Airbrake Knowledge Base推荐了基本上patching the airbrake gem source的lib / airbrake / notice.rb文件。

def initialize(args)
  ...
  self.parameters          = args[:parameters] ||
                               action_dispatch_params ||
                               rack_env(:params) ||
                               {'username' => current_user.name}

如果没有修补源代码就可以配置它当然会更好。

我所做的只是简单地向会话添加一些数据(主要是current_user.name),因为会话数据随请求一起发送。我不会为了一些小数据而这样做。

答案 1 :(得分:1)

我们刚刚将当前用户添加到Airbrake Gem中。 https://github.com/airbrake/airbrake/wiki/Sending-current-user-information

您很快就可以在即将重新设计的UI中按当前用户进行排序。