$e->getTrace()], 500); $profiler->log('error', $e->__toString(), []); } $response = $this->processResponse($profiler, $response); Log::listen(function ($level, $message, $context) use ($profiler, $request) { $profiler->log($level, $message, $context); }); } else { // Process the request the usual, boring way. $response = $next($request); } return $response; } protected function processResponse(ProfileRequest $profiler, Response $response) { $profiler->recordQueries(); Cache::put('profiler-request-' . $profiler->getId(), $profiler->toString(), 2); return $response->header('X-Request-Id', $profiler->getId()); } }