/** * Formats a logging event according to this layout * * @param util.log.LoggingEvent event * @return string */ public function format(\util\log\LoggingEvent $event) { $out = ''; foreach ($this->format as $token) { switch ($token) { case '%m': $out .= implode(' ', array_map([$this, 'stringOf'], $event->getArguments())); break; case '%t': $out .= gmdate('H:i:s', $event->getTimestamp()); break; case '%c': $out .= $event->getCategory()->identifier; break; case '%l': $out .= strtolower(\util\log\LogLevel::nameOf($event->getLevel())); break; case '%L': $out .= strtoupper(\util\log\LogLevel::nameOf($event->getLevel())); break; case '%p': $out .= $event->getProcessId(); break; case '%x': $out .= null == ($context = $event->getContext()) ? '' : $context->format(); break; default: $out .= $token; } } return $out; }
/** * Create a mock appender which simply stores all messages passed to * its append() method. * * @return util.log.Appender */ private function mockAppender() { $appender = newinstance(Appender::class, [], ['messages' => [], 'append' => function (LoggingEvent $event) { $this->messages[] = [strtolower(LogLevel::nameOf($event->getLevel())), $this->layout->format($event)]; }]); return $appender->withLayout(new PatternLayout('%m')); }
public function nameOf_illegal_loglevel() { LogLevel::nameOf(-1); }