/**
  * @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'));
 }