, \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 (ClientException $e) { logger()->warning($e->getMessage(), array_merge(request()->all(), request()->headers->all())); return false; }); $this->reportable(function (\Throwable $e) { if (!Utils::isDev()) { Factory::weWork() ->setToken('c7264726-9a21-4e5c-b0e8-9020a9b4ca62') ->setMessage((new \Guanguans\Notify\Messages\WeWork\TextMessage([ 'content' => $e->getMessage() . "\n" . $e->getTraceAsString(), ])))->send(); } return false; }); $this->renderable(function (ClientException $e) { return response()->json([ 'code' => 400, "error" => $e->getMessage(), ], 200); }); $this->renderable(function (ValidationException $e) { $msg = Arr::first($e->errors()); return response()->json([ "error" => $msg[0], "code" => 400, ]); }); $this->renderable(function (NotFoundHttpException $e) { return response()->json([ "error" => "数据不存在", "code" => 400, ]); }); } }