src/EventListener/LogRequestAndResponseEventListener.php line 31

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Psr\Log\LoggerInterface;
  4. use Symfony\Component\HttpKernel\Event\RequestEvent;
  5. use Symfony\Component\HttpKernel\Event\TerminateEvent;
  6. class LogRequestAndResponseEventListener {
  7.     private $logger;
  8.     public function __construct(LoggerInterface $logger) {
  9.         $this->logger $logger;
  10.     }
  11.     public function onKernelRequest(RequestEvent $event)
  12.     {
  13.         $request $event->getRequest();
  14.         $this->logger->info('requestData', [
  15.             'route' => $request->getMethod() . ' ' $request->getRequestUri(),
  16.             'request body' => $request->request->all(),
  17.             'headers' => $request->headers->all(),
  18.         ]);
  19.     }
  20.     public function onKernelTerminate(TerminateEvent $event)
  21.     {
  22.         $request $event->getRequest();
  23.         $response $event->getResponse();
  24.         $this->logger->info('responseData', [
  25.             'route' => $request->getMethod() . ' ' $request->getRequestUri(),
  26.             'status' => $response->getStatusCode(),
  27.         ]);
  28.     }
  29. }