chromephp = $instance ?? $this->getChromePhp(); $this->formatter = new ChromePhpFormatter(); } /** * Write a message to the log. * * @param array $event event data * @return void */ protected function doWrite(array $event) { $line = $this->formatter->format($event); switch ($event['priority']) { case Logger::EMERG: case Logger::ALERT: case Logger::CRIT: case Logger::ERR: $this->chromephp->error($line); break; case Logger::WARN: $this->chromephp->warn($line); break; case Logger::NOTICE: case Logger::INFO: $this->chromephp->info($line); break; case Logger::DEBUG: $this->chromephp->trace($line); break; default: $this->chromephp->log($line); break; } } /** * Gets the ChromePhpInterface instance that is used for logging. * * @return ChromePhpInterface */ public function getChromePhp() { // Remember: class names in strings are absolute; thus the class_exists // here references the canonical name for the ChromePhp class if ( ! $this->chromephp instanceof ChromePhpInterface && class_exists('ChromePhp') ) { $this->setChromePhp(new ChromePhpBridge()); } return $this->chromephp; } /** * Sets the ChromePhpInterface instance that is used for logging. * * @param ChromePhpInterface $instance The instance to set. * @return ChromePhp */ public function setChromePhp(ChromePhpInterface $instance) { $this->chromephp = $instance; return $this; } }