Beispiel #1
0
 /**
  * @return Record
  */
 protected function getRecord()
 {
     $record = new Record('test', 'foobar', new Level());
     $record->setContext(['foo' => 'bar', 'abc' => 'baz']);
     $record->setExtras(['abc' => 'baz', 'foo' => 'bar']);
     return $record;
 }
Beispiel #2
0
 /**
  * {@inheritdoc}
  *
  * @throws InvalidArgumentException
  */
 public function log($levelName, $message, array $context = [])
 {
     $record = new Record($this->getChannel(), (string) $message, Level::createFromName($levelName));
     $record->setContext($context);
     $this->applyProcessors($record);
     foreach ($this->handlers as $handler) {
         $pass = $handler->handle($record);
         if (true !== $pass) {
             break;
         }
     }
 }
 /**
  * @param Record $record
  *
  * @return array
  */
 protected function getReplacements(Record $record)
 {
     $replacements = [];
     foreach ($record->getContext() as $key => $val) {
         if (null === $val || is_scalar($val) || method_exists($val, '__toString')) {
             $replacements['{' . $key . '}'] = $val;
         } elseif (is_object($val)) {
             $replacements['{' . $key . '}'] = '[object ' . get_class($val) . ']';
         } else {
             $replacements['{' . $key . '}'] = '[' . gettype($val) . ']';
         }
     }
     return $replacements;
 }
Beispiel #4
0
 /**
  * @inheritdoc
  */
 public function format(Record $record)
 {
     $replacements = [];
     if (false !== strpos($this->messageFormat, '%datetime%')) {
         $replacements['%datetime%'] = $this->convertToString($record->getCreatedAt());
     }
     if (false !== strpos($this->messageFormat, '%channel%')) {
         $replacements['%channel%'] = $record->getChannel();
     }
     if (false !== strpos($this->messageFormat, '%level_name%')) {
         $replacements['%level_name%'] = $record->getLevel()->getName();
     }
     if (false !== strpos($this->messageFormat, '%message%')) {
         $replacements['%message%'] = $record->getMessage();
     }
     if (false !== strpos($this->messageFormat, '%context%')) {
         $replacements['%context%'] = $this->convertToString($record->getContext(), true);
     }
     if (false !== strpos($this->messageFormat, '%extras%')) {
         $replacements['%extras%'] = $this->convertToString($record->getExtras(), true);
     }
     return strtr($this->messageFormat, $replacements);
 }
Beispiel #5
0
 /**
  * @inheritdoc
  */
 protected function write(Record $record)
 {
     $this->logger->log($record->getLevel()->getName(), $record->getMessage(), $record->getContext());
 }
Beispiel #6
0
 /**
  * @inheritdoc
  */
 public function isHandling(Record $record)
 {
     return $this->level <= $record->getLevel()->getValue();
 }