, \Psr\Log\LogLevel::*> */ protected $levels = []; /** * A list of the exception types that are not reported. * * @var array> */ protected $dontReport = []; /** * A list of the inputs that are never flashed to the session on validation exceptions. * * @var array */ protected $dontFlash = [ 'current_password', 'password', 'password_confirmation', ]; /** * Register the exception handling callbacks for the application. * * @return void */ public function register() { $this->reportable(function (Throwable $e) { if (app()->bound('sentry')) { app('sentry')->captureException($e); } }); } /** * Render an exception into an HTTP response. * * @param \Illuminate\Http\Request $request * @param \Throwable $exception * @return \Symfony\Component\HttpFoundation\Response */ public function render($request, Throwable $exception) { if ($request->wantsJson() && $exception instanceof ModelNotFoundException) { return response()->json(new StatusResource(['status' => 'KO', 'code' => 404, 'message' => 'Resource not found.']), 404); } return parent::render($request, $exception); } }