在Sentry中捕获用户信息

Jam*_*mes 4 php sentry laravel laravel-5.1

我最近刚刚开始在 Laravel 5.1 应用程序上使用 Sentry。

我在那里看到文档和入门资料,以及捕获用户信息的参考。

他们给出的传递这个的例子看起来像这样:

Raven.setUserContext({
    email: 'foo@example.com'
});
Run Code Online (Sandbox Code Playgroud)

按照Laravel 的设置说明进行操作后,我没有看到任何有关此操作的参考信息,也没有看到文档中有关如何在配置文件或 Laravel 的任何内容中进行设置的任何参考信息。

关于如何设置它来发送用户信息有什么想法吗?用户在使用我的应用程序时将始终登录。

Mar*_*ean 8

我意识到这个问题已经三个月了,所以如果您\xe2\x80\x99已经找到答案,我深表歉意。

\n\n

我有相同的要求(将用户记录为 Sentry 中异常的一部分),所以我自己做了一些挖掘。

\n\n

Raven.setUserContext()似乎是JavaScript SDK特有的功能。PHP SDK 有一个set_user_data($id, $email, $data)在 Raven 客户端上有一个方法,您可以在应用程序中的某个位置使用该方法(很可能在实际将异常发送到 Sentry 之前在异常处理程序中)。

\n\n

像这样的东西应该有效:

\n\n
public function report(Exception $e)\n{\n    // Will only enter if statement if request has a user\n    if ($user = request()->user()) {\n        app(\'sentry\')->set_user_data($user->getAuthIdentifier(), $user->email);\n    }\n\n    app(\'sentry\')->captureException($e);\n\n    return parent::report($e);\n}\n
Run Code Online (Sandbox Code Playgroud)\n