section = $this->output->section(); $this->table = new Table($this->section); $this->table->setHeaders(['Method', 'URI', 'Response', 'Duration']); $this->requests = new Collection(); } public function logRequest(LoggedRequest $loggedRequest) { if ($this->requests->has($loggedRequest->id())) { $this->requests[$loggedRequest->id()] = $loggedRequest; } else { $this->requests->prepend($loggedRequest, $loggedRequest->id()); } $this->requests = $this->requests->slice(0, 10); $this->section->clear(); $this->table->setRows($this->requests->map(function (LoggedRequest $loggedRequest) { return [ $loggedRequest->getRequest()->getMethod(), $loggedRequest->getRequest()->getUri(), optional($loggedRequest->getResponse())->getStatusCode() . ' ' . optional($loggedRequest->getResponse())->getReasonPhrase(), $loggedRequest->getDuration().'ms' ]; })->toArray()); $this->table->render(); } }