setLogger($logger); } protected LoggerInterface $logger; public function getLogger(): LoggerInterface { return $this->logger; } public function setLogger(LoggerInterface $logger): Logging { $this->logger = $logger; return $this; } public function __invoke(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $response = $handler->handle($request); $output = [ 'uri' => var_export($request->getUri(), true), 'body' => $request->getBody()->getContents() ]; $this->getLogger()->info(\Safe\json_encode($output, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); return $response; } }