2012-05-24 53 views
2

當我們將airbrake錯誤發送到airbrake服務器時,默認情況下它包含控制器名稱和操作名稱。如何在JS錯誤的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/> 

回答

1

不是一個很好的解決方案,但基本上Airbrake Knowledge Base建議的lib /空氣制動的patching the airbrake gem source/notice.rb文件。

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

如果沒有修補源代碼,可以配置它肯定會更好。

我所做的只是簡單地向會話中添加幾條數據(主要是current_user.name),因爲會話數據與請求一起發送。我不會這樣做超過一小段數據。

+3

謝謝!我在後臺工作中解決了這個限制,把我的東西放在會話參數中:'Airbrake.notify error,session:{car_id:car.id}' – AlexChaffee

相關問題