繁体   English   中英

在本地环境中禁用 laravel 的哨兵

[英]Disable sentry for laravel on local environment

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

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

您可以检查 report() 和 render() 函数是否都在生产中。

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

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

    parent::report($e);
}

...

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);
}

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM