Exemplo n.º 1
0
 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;
 }
Exemplo n.º 3
0
 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);
         }
     }
 }
Exemplo n.º 4
0
 /**
  * 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);
             }
         }
     }
 }
Exemplo n.º 5
0
 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));
 }