public function saveValue(LogMessage $message) { $data = $this->getYAML(); if ($message->getSubtype()) { $data['Values'][$message->getRealm()][$message->getType()][$message->getSubtype()] = $message->getLogValue('value'); } else { $data['Values'][$message->getRealm()][$message->getType()] = $message->getLogValue('value'); } $this->saveYAML($data); }
/** * @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 broadcast($realm, $type, $subtype = null, $message = '') { if (!$message instanceof LogMessage) { $message = new LogMessage($message); } $message->setMode('broadcast'); $message->setNamespace($this->getNamespace()); $message->setChunk($this->getChunk()); if ($message->getTiming() == '') { $message->setTiming($this->getDuration()); } $message->setRealm($realm); $message->setType($type); $message->setSubtype($subtype); foreach ($this->broadCaster as $broadCaster) { $broadCaster->broadcast($message); } foreach ($this->logger as $logger) { if ($logger['broadcast'] == true) { $logger['logger']->log('info', (string) $message); } } }
/** * Logs with an arbitrary level. * * @param mixed $level * @param string $message * @param array $context * * @return null */ public function log($level, $message, array $context = array()) { if (!$message instanceof LogMessage) { $message = new LogMessage($message); } $message->setNamespace($this->getNamespace()); $message->setChunk($this->getChunk()); if ($message->getTiming() == '') { $message->setTiming($this->getDuration()); } if (array_key_exists($level, $this->logLevels)) { foreach ($this->logger as $logger) { if ($this->logLevels[$level] <= $this->logLevels[$logger['threshold']]) { $logger['logger']->log($level, $message, $context); } } } }
public function broadcast(LogMessage $message) { $to = $this->name . ' <' . $this->email . '>'; $headers = $this->headers; $headers[] = "MIME-Version: 1.0"; $headers[] = "Content-type: text/plain; charset=utf-8"; $headers[] = "X-Mailer: PHP/" . phpversion(); $subject = 'New Broadcast Event: ' . $message->getRealm() . ' - ' . $message->getType(); if ($message->getSubtype()) { $subject .= ' - ' . $message->getSubtype(); } $text = 'Namespace: ' . $message->getNamespace() . PHP_EOL; $text .= 'Chunk: ' . $message->getChunk() . PHP_EOL . PHP_EOL; $text .= 'Realm: ' . $message->getRealm() . PHP_EOL; $text .= 'Type: ' . $message->getType() . PHP_EOL; $text .= 'Subtype: ' . $message->getSubtype() . PHP_EOL . PHP_EOL . PHP_EOL; $text .= $message->getMessage(); mail($to, $subject, $text, implode("\r\n", $headers)); }