当我们将空气制动器错误发送到空气制动服务器时,默认情况下它包含控制器名称和操作名称。
但问题是我想添加一些额外的参数,例如当前用户的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/>
答案 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中按当前用户进行排序。