vendor/phpro/soap-client/src/Phpro/SoapClient/Event/Subscriber/LogSubscriber.php line 54

Open in your IDE?
  1. <?php
  2. namespace Phpro\SoapClient\Event\Subscriber;
  3. use Phpro\SoapClient\Event\RequestEvent;
  4. use Phpro\SoapClient\Event\ResponseEvent;
  5. use Phpro\SoapClient\Event\FaultEvent;
  6. use Psr\Log\LoggerInterface;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class LogSubscriber implements EventSubscriberInterface
  9. {
  10.     /**
  11.      * @var LoggerInterface
  12.      */
  13.     private $logger;
  14.     /**
  15.      * Constructor
  16.      *
  17.      * @param LoggerInterface $logger
  18.      */
  19.     public function __construct(LoggerInterface $logger)
  20.     {
  21.         $this->logger $logger;
  22.     }
  23.     /**
  24.      * @param RequestEvent $event
  25.      */
  26.     public function onClientRequest(RequestEvent $event)
  27.     {
  28.         $this->logger->info(sprintf(
  29.             '[phpro/soap-client] request: call "%s" with params %s',
  30.             $event->getMethod(),
  31.             print_r($event->getRequest(), true)
  32.         ));
  33.     }
  34.     /**
  35.      * @param ResponseEvent $event
  36.      */
  37.     public function onClientResponse(ResponseEvent $event)
  38.     {
  39.         $this->logger->info(sprintf(
  40.             '[phpro/soap-client] response: %s',
  41.             print_r($event->getResponse(), true)
  42.         ));
  43.     }
  44.     /**
  45.      * @param FaultEvent $event
  46.      */
  47.     public function onClientFault(FaultEvent $event)
  48.     {
  49.         $this->logger->error(sprintf(
  50.             '[phpro/soap-client] fault "%s" for request "%s" with params %s',
  51.             $event->getSoapException()->getMessage(),
  52.             $event->getRequestEvent()->getMethod(),
  53.             print_r($event->getRequestEvent()->getRequest(), true)
  54.         ));
  55.     }
  56.     /**
  57.      * {@inheritdoc}
  58.      */
  59.     public static function getSubscribedEvents(): array
  60.     {
  61.         return array(
  62.             RequestEvent::class  => 'onClientRequest',
  63.             ResponseEvent::class => 'onClientResponse',
  64.             FaultEvent::class    => 'onClientFault'
  65.         );
  66.     }
  67. }