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

时间:2016-06-14 13:40:28

标签: php laravel laravel-5 sentry

有没有办法在本地环境中禁用laravel 5的哨兵?我已从SELECT entryDate, COUNT(*) as numA, COUNT(b.memberId) as numB, AVG(CASE WHEN b.memberId is not null THEN 1.0 ELSE 0.0 END) as ratio FROM tableA a LEFT JOIN tableB b ON a.memberId = b.memberId WHERE entryDate BETWEEN '2016-05-01' AND '2016-05-15' GROUP BY entryDate; 文件中移除了SENTRY_DSN条目,并且似乎正常工作但我不确定这是正确的方法。我应该在.env函数中添加一些关于env的检查吗?还是有更好的方法吗? report看起来像这样:

App\Exceptions\Handler

2 个答案:

答案 0 :(得分:4)

您可以检查您是否正在使用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错误页面中显示whoops错误。

答案 1 :(得分:2)

禁用Sentry SDK的建议方法是将SENTRY_DSN值设置为falsey,这样你的直觉就是正确的。

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