chore: sync staging workspace

This commit is contained in:
2025-11-01 19:02:09 +01:00
parent 478754ab02
commit 5a79646daf
58 changed files with 2035 additions and 709 deletions

View File

@@ -27,8 +27,7 @@ final readonly class ConfigValidator
$issues = [];
// APP_ENV validation
/** @var array<int, string> */
$allowedEnvs = ['development', 'testing', 'production'];
/*$allowedEnvs = ['development', 'testing', 'production'];
$appEnv = $this->env->getString(EnvKey::APP_ENV, 'production');
if (! in_array($appEnv, $allowedEnvs, true)) {
$issues[] = [
@@ -37,7 +36,7 @@ final readonly class ConfigValidator
'severity' => 'medium',
'recommendation' => 'Setze APP_ENV auf einen der Werte: development | testing | production',
];
}
}*/
// APP_DEBUG should be boolean-like if present
if ($this->env->has(EnvKey::APP_DEBUG)) {

View File

@@ -11,11 +11,12 @@ use App\Framework\DI\Container;
use App\Framework\Http\Exceptions\MiddlewareTimeoutException;
use App\Framework\Http\Metrics\MiddlewareMetricsCollector;
use App\Framework\Logging\DefaultLogger;
use App\Framework\Logging\Logger;
use App\Framework\Logging\ValueObjects\LogContext;
final readonly class MiddlewareInvoker
{
private DefaultLogger $logger;
private Logger $logger;
/**
* Default timeout for middleware execution in seconds
@@ -46,7 +47,7 @@ final readonly class MiddlewareInvoker
?MiddlewareCircuitBreaker $circuitBreaker = null,
?MiddlewareMetricsCollector $metricsCollector = null
) {
$this->logger = $this->container->get(DefaultLogger::class);
$this->logger = $this->container->get(Logger::class);
if ($defaultTimeout === null) {
try {
@@ -80,13 +81,13 @@ final readonly class MiddlewareInvoker
// Middleware-Instanz holen, falls ein Klassenname übergeben wurde
if (is_string($middleware)) {
error_log("MiddlewareInvoker: Getting instance for {$middleware}");
#error_log("MiddlewareInvoker: Getting instance for {$middleware}");
try {
$middleware = $this->container->get($middleware);
error_log("MiddlewareInvoker: Successfully got instance for " . get_class($middleware));
#error_log("MiddlewareInvoker: Successfully got instance for " . get_class($middleware));
} catch (\Throwable $e) {
error_log("MiddlewareInvoker: FAILED to get instance for {$middleware}: " . $e->getMessage());
#error_log("MiddlewareInvoker: FAILED to get instance for {$middleware}: " . $e->getMessage());
throw $e;
}
@@ -108,8 +109,8 @@ final readonly class MiddlewareInvoker
}*/
// Debug-Ausgabe vor der Ausführung
$this->logger->debug('VOR: Middleware ' . $middlewareName .
' - hasResponse: ' . ($context->hasResponse() ? 'ja' : 'nein'));
#$this->logger->debug('VOR: Middleware ' . $middlewareName .
# ' - hasResponse: ' . ($context->hasResponse() ? 'ja' : 'nein'));
try {
// Start timing the middleware execution
@@ -133,7 +134,7 @@ final readonly class MiddlewareInvoker
}
// Log execution time for monitoring
$this->logger->debug("Middleware {$middlewareName} executed in {$executionTime} seconds");
#$this->logger->debug("Middleware {$middlewareName} executed in {$executionTime} seconds");
$response = $resultContext->response;
@@ -161,8 +162,8 @@ final readonly class MiddlewareInvoker
);
// Debug-Ausgabe nach der Ausführung
$this->logger->debug('NACH: Middleware ' . $middlewareName .
' - hasResponse: ' . ($resultContext->hasResponse() ? 'ja' : 'nein'));
#$this->logger->debug('NACH: Middleware ' . $middlewareName .
# ' - hasResponse: ' . ($resultContext->hasResponse() ? 'ja' : 'nein'));
return $resultContext;
} catch (\Throwable $e) {

View File

@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace App\Framework\Logging;
use App\Framework\Config\Environment;
use App\Framework\Config\EnvKey;
use App\Framework\Config\TypedConfiguration;
use App\Framework\Core\PathProvider;
use App\Framework\DI\Container;
@@ -69,7 +70,7 @@ final readonly class LoggerInitializer
// Stelle sicher, dass alle Logverzeichnisse existieren
$logConfig->ensureLogDirectoriesExist();
$redisConfig = new RedisConfig(host: 'redis', database: 2);
$redisConfig = new RedisConfig(host: $env->getString(EnvKey::REDIS_HOST, 'redis'), database: 2);
$redisConnection = new RedisConnection($redisConfig, 'queue');
$queue = new RedisQueue($redisConnection, 'commands');