2016-08-25 2 views
0

최근 Larvel 5.1 응용 프로그램에서 Sentry를 사용하기 시작했습니다.Sentry에서 사용자 정보 수집

내가 거기에있는 문서와 시작 물건을 참조하십시오 capturing user information에 대한 참조.

그들은이를 전달하는 줄의 예는 다음과 같습니다

Raven.setUserContext({ 
    email: '[email protected]' 
}); 

setup instructions for Laravel, 나는이 갈 수있는 곳에 대한 참조 또는이를 설정하는 방법에 대한 문서에 대한 참조를 볼 수 없습니다 다음 데 설정 파일 또는 Laravel에 대한 모든 것.

사용자 정보를 보내도록 설정할 수있는 방법에 대한 아이디어가 있으십니까? 내 애플리케이션을 사용할 때 사용자는 항상 로그인됩니다.

답변

0

나는이 질문이 3 개월 된 것을 알고 있으며, 이미 답변을 찾았다면 사과드립니다.

나는 (Sentry에서 예외의 일부로 사용자를 로그하는 것과) 동일한 요구 사항을 가졌으므로 자신을 조금 파고 들었다.

Raven.setUserContext()은 JavaScript SDK 전용 기능인 것 같습니다. PHP SDK는 응용 프로그램의 어딘가에서 사용할 수있는 Raven 클라이언트에 set_user_data($id, $email, $data) 메서드를 가지고 있습니다 (실제로 Sentry에 예외를 보내기 전에 예외 처리기에서 발생할 가능성이 큽니다). 이 같은

뭔가 작업을해야합니다 :

public function report(Exception $e) 
{ 
    // Will only enter if statement if request has a user 
    if ($user = request()->user()) { 
     app('sentry')->set_user_data($user->getAuthIdentifier(), $user->email); 
    } 

    app('sentry')->captureException($e); 

    return parent::report($e); 
} 
+0

이 그 일을하는 좋은 방법처럼 보인다. 나는 구식 패키지를 사용하고 약간 수정할 수 밖에 없었다. 찾을 수있는 유일한 해결책 이었기 때문이다. 그래도 이걸 줄거야 - 고마워! – James