使用相关文档安装了Laravel和Bugsnag之后,我发现例如NotFoundHttpException
错误没有报告给Bugsnag(但是notifyError
是)。我的问题是如何设置它以便报告所有错误,而不是一遍又一遍地使用这些行:
Bugsnag::notifyError('ErrorType', 'Something bad happened');
或
try {
// Some potentially crashy code
} catch (Exception $ex) {
Bugsnag::notifyException($ex);
}
我正在考虑使用Handler
中的app/exceptions
,如此:
public function report(Exception $e)
{
Bugsnag::notifyException($e);
parent::report($e);
}
但是如果在Laravel / Bugsnag集成文档中没有提到它,这是一个好习惯吗?此Laracast video未描述对异常处理程序的任何更改,并且设置似乎按预期工作。
答案 0 :(得分:3)
在App \ Exceptions \ Handler中,从$ dontReport中删除所有Exception类。我不确定你为什么要报告所有错误,但这应该为你做。
答案 1 :(得分:0)
在
\ app \ Exceptions \ Handler.php
覆盖internalDontReport
属性。
以下是从\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php
protected $internalDontReport = [
AuthenticationException::class,
AuthorizationException::class,
HttpException::class,
HttpResponseException::class,
ModelNotFoundException::class,
TokenMismatchException::class,
ValidationException::class,
];