/** * @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; }
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); } } }
public function createLogMessage($message = '', $logValues = []) { $logMessage = new LogMessage($message); $logMessage->setTiming($this->getDuration()); foreach ($logValues as $k => $v) { $logMessage->addLogValue($k, $v); } return $logMessage; }