2012-05-24 2 views
2

에어 브레이크를 에어 브레이크 서버로 보내면 기본적으로 컨트롤러 이름과 동작 이름이 포함됩니다.JS 오류에 대한 에어 브레이크 파라미터에 몇 가지 추가 매개 변수를 추가하는 방법

하지만 현재 사용자의 username, email과 같은 추가 매개 변수를 추가하고 싶습니다. 누구든지 아이디어가 있다면 어떻게 할 지 제안하십시오. 내가 쓴

- if ['development'].include?(Rails.env) 
    = airbrake_javascript_notifier 
    = render :partial => 'layouts/airbrake_notifier' 

및 부분에서

:

내 레이아웃 application.html에서

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

1

우리는 Airbrake Gem에 현재 사용자를 추가하는 것을 추가했습니다. https://github.com/airbrake/airbrake/wiki/Sending-current-user-information

다가오는 UI 재 디자인에서 곧 현재 사용자별로 정렬 할 수있게 될 것입니다.

+0

이 작업은 백그라운드 작업에서 세션 매개 변수에 넣음으로써 가능합니다.이 작업은 레일 측에서 제대로 작동하지만 캡처하지 못하는 것 같습니다. JS 측의 정보. – jwadsack