debugOnly && ! filter_var(getenv('APP_DEBUG'), FILTER_VALIDATE_BOOLEAN)) { return false; } return $record->level->value >= $this->minLevel->value; } public function handle(LogRecord $record): void { $timestamp = $record->getFormattedTimestamp(); $level = $record->level->getName(); $message = $record->message; $channel = $record->channel; // Request-ID falls vorhanden $requestId = $record->hasExtra('request_id') ? "[{$record->getExtra('request_id')}] " : ''; // Channel falls vorhanden $channelPrefix = $channel ? "[$channel] " : ''; $logLine = sprintf( '[%s] %s[%s] %s%s', $timestamp, $requestId, $level, $channelPrefix, $message ); // Context-Daten, falls vorhanden $context = $record->getContext(); if (! empty($context)) { $logLine .= ' | Context: ' . json_encode($context, JSON_UNESCAPED_SLASHES); } // In error_log schreiben error_log($logLine); } }