我有一個Rails應用程序發送Airbrake通知很好,但我想添加一些用戶信息的通知。如何將用戶信息添加到Airbrake通知?
我正在使用airbrake gem,v5.7.1,它添加middleware來捕獲未捕獲的異常並在再次升級之前報告它們。
我試過了,按照該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用戶界面中的參數僅包含操作和控制器信息。
我在我的控制器中有一個'current_user'方法。您是否建議我在通知中獲取用戶信息,而無需添加過濾器? – Kris
是的,我期望會發生。你可以發送Airbrake支持的消息嗎?我想檢查你的項目。 – kyrylo
你在Airbrake工作嗎? – Kris