toDateTime(); } public function fromString(string $dateTime, ?string $format = null): \DateTimeImmutable { return new \DateTimeImmutable($dateTime); } public function today(): \DateTimeImmutable { return new \DateTimeImmutable('today'); } public function yesterday(): \DateTimeImmutable { return new \DateTimeImmutable('yesterday'); } public function tomorrow(): \DateTimeImmutable { return new \DateTimeImmutable('tomorrow'); } public function time(): Timestamp { return Timestamp::now(); } }; echo "Creating ErrorEvent directly...\n"; $exception = FrameworkException::create( DatabaseErrorCode::QUERY_FAILED, 'Test database query failed' ); $exceptionContext = ExceptionContext::empty() ->withOperation('test_operation', 'TestComponent') ->withData(['test_key' => 'test_value']); $requestContext = RequestContext::fromGlobals(); $systemContext = SystemContext::current(); $errorHandlerContext = ErrorHandlerContext::create( $exceptionContext, $requestContext, $systemContext, ['http_status' => 500] ); $errorEvent = ErrorEvent::fromErrorHandlerContext($errorHandlerContext, $clock); echo "ErrorEvent created successfully\n"; echo " ID: " . (string) $errorEvent->id . "\n"; echo " Service: " . $errorEvent->service . "\n"; echo " Component: " . $errorEvent->component . "\n"; echo "\nCreating InMemoryErrorStorage...\n"; $storage = new InMemoryErrorStorage(); echo "Storing event...\n"; $storage->storeEvent($errorEvent); echo "Getting recent events...\n"; $recentEvents = $storage->getRecentEvents(10); echo "Recent events count: " . count($recentEvents) . "\n"; if (count($recentEvents) > 0) { echo "SUCCESS: Event was stored!\n"; $event = $recentEvents[0]; echo " Event ID: " . (string) $event->id . "\n"; echo " Message: " . $event->errorMessage . "\n"; } else { echo "ERROR: Event was NOT stored!\n"; }