/**
  * @return Client
  */
 public function getClient()
 {
     if (!$this->client) {
         $client = new Client(['base_url' => $this->getConfiguration()->getUri(), 'defaults' => ['timeout' => $this->getConfiguration()->getTimeout()]]);
         $this->client = $client;
         $emitter = $client->getEmitter();
         $emitter->on('end', function (EndEvent $event) {
             $kvm = KVMLogger::instance('anycontent-connection');
             $message = new LogMessage();
             $message->addLogValue('method', $event->getRequest()->getMethod());
             $response = $event->getResponse();
             if ($response) {
                 $duration = (int) ($event->getTransferInfo('total_time') * 1000);
                 $message->addLogValue('code', $response->getStatusCode());
                 $message->addLogValue('duration', $duration);
                 $message->addLogValue('url', $response->getEffectiveUrl());
                 $kvm->debug($message);
             } else {
                 $message->addLogValue('url', $event->getRequest()->getUrl());
                 $message->addLogValue('exception', $event->getException()->getCode() . ': ' . $event->getException()->getMessage());
                 $kvm->error($message);
             }
         });
     }
     return $this->client;
 }
Example #2
0
 public function logValue($realm, $type, $subtype = null, $value, $message = '')
 {
     if (!$message instanceof LogMessage) {
         $message = new LogMessage($message);
     }
     $message->setMode('value');
     $message->setNamespace($this->getNamespace());
     $message->setChunk($this->getChunk());
     if ($message->getTiming() == '') {
         $message->setTiming($this->getDuration());
     }
     $message->setRealm($realm);
     $message->setType($type);
     $message->setSubtype($subtype);
     $message->addLogValue('value', $value);
     foreach ($this->monitor as $monitor) {
         $monitor->saveValue($message);
     }
     foreach ($this->logger as $logger) {
         if ($logger['monitor'] == true) {
             $logger['logger']->log('info', (string) $message);
         }
     }
 }
Example #3
0
 public function createLogMessage($message = '', $logValues = [])
 {
     $logMessage = new LogMessage($message);
     $logMessage->setTiming($this->getDuration());
     foreach ($logValues as $k => $v) {
         $logMessage->addLogValue($k, $v);
     }
     return $logMessage;
 }