我有一个 Rails 应用程序可以很好地发送 Airbrake 通知,但我想在通知中添加一些用户信息。
我正在使用airbrake gem v5.7.1,它添加了一个中间件来捕获未捕获的异常并在重新引发之前报告它们。
我尝试按照README向初始化程序添加过滤器:
class UserDetailsFilter
def call(notice)
if notice.stash.has_key?(:rack_request)
user_credentials = notice.stash[:rack_request].cookies["user_credentials"]
unless user_credentials.blank?
user_id = user_credentials.split(':').last
user = User.find(user_id)
notice[:params][:user_email] = user.email
notice[:params][:user_name] = "#{user.first_name} #{user.last_name}"
end
end
end
end
Airbrake.add_filter(UserDetailsFilter.new)
使用binding.pry
我可以确认此代码已运行,并且该通知确实:params
修改了哈希。然而,Airbrake UI 中的参数只有动作和控制器信息。