在当地环境中禁用Laravel哨兵

rap*_*2-h 5 php sentry laravel laravel-5

有什么方法可以在本地环境中禁用laravel 5的哨兵?我已经SENTRY_DSN.env文件中删除了该条目,它似乎可以正常工作,但是我不确定这是正确的方法。我应该在report功能中添加一些关于env的检查吗?还是有更好的方法?App\Exceptions\Handler看起来像这样:

public function report(Exception $e)
{
    if ($this->shouldReport($e)) {
        app('sentry')->captureException($e);
    }
    parent::report($e);
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*mer 5

禁用 Sentry SDK 的建议方法是将 SENTRY_DSN 值设置为 false,因此您的直觉是正确的。

https://docs.getsentry.com/hosted/clientdev/#usage-for-end-users

  • 链接现在是404 (2认同)
  • 请将链接更新为 https://docs.sentry.io/platforms/php/guides/laravel/ (2认同)

小智 5

您可以检查您是否正在使用 report() 和 render() 函数。

App\Exceptions\Handler例如,这是一个更新的文件。

public function report(Exception $e)
{
    if (app()->environment('production') && $this->shouldReport($e)) {
        app('sentry')->captureException($e);
    }

    parent::report($e);
}
Run Code Online (Sandbox Code Playgroud)

...

public function render($request, Exception $e)
{
    if ($e instanceof ModelNotFoundException) {
        $e = new NotFoundHttpException($e->getMessage(), $e);
    }

    if (app()->environment('production')) {
        return response()->view('errors.500', null, 500);
    }

    return parent::render($request, $e);
}
Run Code Online (Sandbox Code Playgroud)

这样,你仍然有哎呦错误的地方展示和生产自定义500错误页面。