*/ class LogListener implements IEventListener { private ?Console $console; public function __construct(Formatter $formatter, SystemConfig $config) { $level = getenv('OCC_LOG'); if ($level) { $terminal = new Terminal(); $this->console = new Console($formatter, $config, $level, $terminal->getWidth()); } else { $this->console = null; } } public function handle(Event $event): void { if (!$event instanceof BeforeMessageLoggedEvent) { return; } if ($this->console) { $this->console->log($event->getLevel(), $event->getApp(), $event->getMessage()); } } }