/** * @param LoggerInterface $logger * @param null|bool|string|\Guzzle\Log\MessageFormatter $formatter * @return bool|null */ public function attachPsrLogger(LoggerInterface $logger, $formatter = null) { if ($this->psrLogger) { return null; } GuzzleClientHelper::addPsrLoggerToClient($this->httpClient, $logger, $formatter); $this->psrLogger = $logger; return true; }
public function testAddPsrLoggerToClient() { $client = new Client(); $listenersBefore = $client->getEventDispatcher()->getListeners('request.sent'); $logger = $this->getMockForAbstractClass('Psr\\Log\\LoggerInterface'); $plugin = GuzzleClientHelper::addPsrLoggerToClient($client, $logger); $this->assertTrue($client->getEventDispatcher()->hasListeners('request.sent')); $expectedListenersCount = count($listenersBefore) + 1; $this->assertCount($expectedListenersCount, $client->getEventDispatcher()->getListeners('request.sent')); $this->assertContains([$plugin, 'onRequestSent'], $client->getEventDispatcher()->getListeners('request.sent')); }