setFormatter(new LineFormatter( "[%datetime%] %level_name%: %message% %context%\n", 'Y-m-d H:i:s', true, true )); $logger->pushHandler($handler); self::$instance = $logger; return $logger; } /** * Emit a structured journey event. * Always tags the batch + row identifiers when supplied so a single upload * can be traced end-to-end via grep. */ public static function event($name, array $context = []) { self::logger()->info($name, $context); } public static function warning($name, array $context = []) { self::logger()->warning($name, $context); } public static function error($name, array $context = []) { self::logger()->error($name, $context); } }