format = isset($format) ? $format : static::DEFAULT_FORMAT; parent::__construct($dateTimeFormat); } /** * Formats data into a single line to be written by the writer. * * @param array $event event data * @return string formatted line to write to the log */ public function format($event) { $output = $this->format; $event = parent::format($event); foreach ($event as $name => $value) { if ('extra' == $name && count($value)) { $value = $this->normalize($value); } elseif ('extra' == $name) { // Don't print an empty array $value = ''; } $output = str_replace("%$name%", $value, $output); } if (isset($event['extra']) && empty($event['extra']) && false !== strpos($this->format, '%extra%') ) { $output = rtrim($output, ' '); } return $output; } }