From 63bb887370d4ffbb474bcde20445e46fbc5e6556 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Fri, 10 Apr 2020 21:14:45 +0800 Subject: [PATCH] Add request information in API logging #374 --- src/EventSubscriber/LogSubscriber.php | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/EventSubscriber/LogSubscriber.php b/src/EventSubscriber/LogSubscriber.php index af227133..ccea548c 100644 --- a/src/EventSubscriber/LogSubscriber.php +++ b/src/EventSubscriber/LogSubscriber.php @@ -13,24 +13,29 @@ class LogSubscriber implements EventSubscriberInterface { protected $allow; - public function __construct() - { - $this->allow = true; - } - public function onKernelController(ControllerEvent $event) { $controller = $event->getController(); + $this->allow = false; // when a controller class defines multiple action methods, the controller // is returned as [$controllerInstance, 'methodName'] if (is_array($controller)) $controller = $controller[0]; - if ($controller instanceof LoggedController) - $this->allow = true; - else - $this->allow = false; + if (!($controller instanceof LoggedController)) + return; + + $this->allow = true; + + $req = $event->getRequest(); + $reqdata = [ + $req->getPathInfo(), + $req->getMethod(), + $req->query->all(), + $req->request->all(), + ]; + error_log(print_r($req_data, true)); } public function onKernelResponse(ResponseEvent $event)