Example #1
0
File: Gelf.php Project: arbi/MyCode
 public function format($event)
 {
     $message = new Message();
     $message->setFacility($this->facility)->setLevel($event['priority'])->setShortMessage($event['message'])->setFullMessage($event['message']);
     if (isset($event['extra']['full_message'])) {
         $message->setFullMessage($event['extra']['full_message']);
     }
     if (isset($event['extra']['short'])) {
         $message->setShortMessage($event['extra']['short']);
     }
     if (isset($event['extra']['file'])) {
         $message->setFile($event['extra']['file']);
     }
     if (isset($event['extra']['line'])) {
         $message->setLine($event['extra']['line']);
     }
     if (isset($event['extra']['version'])) {
         $message->setVersion($event['extra']['version']);
     }
     if (isset($event['extra']['facility'])) {
         $message->setFacility($event['extra']['facility']);
     }
     foreach ($event['extra'] as $key => $value) {
         $message->setAdditional($key, $value);
     }
     return $message;
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public function report($priority, $message, $extra = [])
 {
     $grayLogMessage = new Message();
     $grayLogMessage->setShortMessage($message);
     $grayLogMessage->setFullMessage($extra ? print_r($extra, true) : $message);
     $grayLogMessage->setHost((Console::isConsole() ? 'Console' : $_SERVER['HTTP_HOST']));
     $grayLogMessage->setLevel($priority);
     $grayLogMessage->setTimestamp(time());
     $grayLogMessage->setVersion('1.0');
     $this->publisher->publish($grayLogMessage);
 }
Example #3
0
 protected function setValuesToMessage(Message $message)
 {
     $message->setFacility('facility');
     $message->setFile('foo.php');
     $message->setFullMessage('Full Message');
     $message->setHost('example.com');
     $message->setLevel(3);
     $message->setLine(42);
     $message->setShortMessage('Short Message');
     $message->setTimestamp(123456789);
     $message->setVersion('1.2.3');
 }
Example #4
0
 public function testToArrayV11()
 {
     $this->message->setVersion("1.1");
     $this->message->setShortMessage("lorem ipsum");
     $this->message->setAdditional("foo", "bar");
     // check that deperacted behaviour is overridden in 1.1
     $this->message->setLine(50);
     $this->message->setAdditional("line", 100);
     $this->message->setFile("foo/bar");
     $data = $this->message->toArray();
     $this->assertSame('1.1', $data['version']);
     $this->assertSame('lorem ipsum', $data['short_message']);
     $this->assertArrayHasKey('_line', $data);
     $this->assertSame(100, $data['_line']);
     $this->assertArrayNotHasKey('line', $data);
     $this->assertArrayHasKey('_file', $data);
     $this->assertSame('foo/bar', $data['_file']);
     $this->assertArrayNotHasKey('file', $data);
     $this->assertArrayHasKey('_foo', $data);
     $this->assertSame('bar', $data['_foo']);
 }
Example #5
0
 /**
  * @param array $event
  *
  * @return Message
  */
 public function format($event)
 {
     $message = new Message();
     $message->setHost(gethostname());
     if (isset($event['priority'])) {
         $message->setLevel($event['priority']);
     } else {
         if (isset($event['errno'])) {
             // @todo Convert to syslog error levels?
             $message->setLevel($event['errno']);
         }
     }
     $message->setFullMessage($event['message']);
     $message->setShortMessage($event['message']);
     if (isset($event['full'])) {
         $message->setFullMessage($event['full']);
     }
     if (isset($event['short'])) {
         $message->setShortMessage($event['short']);
     }
     if (isset($event['file'])) {
         $message->setFile($event['file']);
     }
     if (isset($event['line'])) {
         $message->setLine($event['line']);
     }
     if (isset($event['version'])) {
         $message->setVersion($event['version']);
     }
     if (isset($event['facility'])) {
         $message->setFacility($event['facility']);
     } else {
         $message->setFacility($this->_sFacility);
     }
     if (isset($event['extra']) && isset($event['extra']['trace'])) {
         $aTraceOut = [];
         foreach ($event['extra']['trace'] as $aTrace) {
             if (isset($aTrace['file']) && isset($aTrace['line'])) {
                 $aTraceOut[] = sprintf('file: %s | line: %s', $aTrace['file'], $aTrace['line']);
             } elseif (isset($aTrace['function']) && isset($aTrace['class']) && isset($aTrace['type'])) {
                 $aTraceOut[] = sprintf('%s %s %s', $aTrace['class'], $aTrace['type'], $aTrace['function']);
             }
         }
         $message->setAdditional('trace', implode(PHP_EOL, $aTraceOut));
     }
     if ($this->_sLogname != '') {
         $message->setAdditional('logname', $this->_sLogname);
     }
     if (isset($event['timestamp'])) {
         if ($event['timestamp'] instanceof \DateTime) {
             $message->setTimestamp($event['timestamp']->getTimestamp());
         } else {
             $message->setTimestamp($event['timestamp']);
         }
     }
     $aBlackKeys = ['message', 'priority', 'errno', 'full', 'short', 'file', 'line', 'version', 'facility', 'timestamp'];
     foreach ($event as $mKey => $mValue) {
         if (!in_array($mKey, $aBlackKeys)) {
             if (is_array($mValue)) {
                 $rows = [];
                 foreach ($mValue as $mKey2 => $mValue2) {
                     if (is_array($mValue2)) {
                         continue;
                     }
                     $rows[] = sprintf('%s: %s', $mKey2, $mValue2);
                 }
                 $mValue = implode(' | ', $rows);
             }
             $message->setAdditional($mKey, $mValue);
         }
     }
     return $message;
 }