2016-08-25 33 views
0

我刚刚在我的Laravel 5.1应用程序中开始使用Sentry。在Sentry中捕获用户信息

我看到那里的文档和入门的东西,参考capturing user information

他们给在通过本的例子,看起来是这样的:

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

已经跟着他们setup instructions for Laravel,我看到那里,这可能去还是没有提到如何设置此文档中的任何参考在配置文件或任何Laravel。

有关如何设置此项以发送用户信息的任何想法?用户在使用我的应用程序时将始终登录。

回答

0

我意识到这个问题是三个月大,所以如果你已经找到答案,我很抱歉。

我有相同的要求(日志用户作为哨兵例外的一部分),所以做了一点挖掘我自己。

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