- Enhance logging handlers (Console, DockerJson, File, JsonFile, MultiFile) - Improve exception and line formatters - Update logger initialization and processor management - Add Ansible playbooks for staging 502 error troubleshooting - Update deployment documentation - Fix serializer and queue components - Update error kernel and queued log handler
62 lines
1.8 KiB
PHP
62 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\Logging;
|
|
|
|
use App\Framework\DateTime\Clock;
|
|
use App\Framework\DateTime\SystemClock;
|
|
|
|
/**
|
|
* Factory für Logger-Instanzen.
|
|
*
|
|
* @deprecated Verwende stattdessen Dependency Injection. Der Logger wird automatisch über LoggerInitializer erstellt.
|
|
* Diese Klasse wird nur noch für Legacy-Code verwendet und sollte nicht in neuem Code genutzt werden.
|
|
*/
|
|
final class LoggerFactory
|
|
{
|
|
private static ?DefaultLogger $defaultLogger = null;
|
|
|
|
/**
|
|
* Erzeugt einen neuen Logger mit optionalen Einstellungen.
|
|
*
|
|
* @deprecated Verwende stattdessen Dependency Injection. Der Logger wird automatisch über LoggerInitializer erstellt.
|
|
*/
|
|
public static function create(
|
|
?Clock $clock = null,
|
|
LogLevel|int $minLevel = LogLevel::DEBUG,
|
|
array $handlers = []
|
|
): DefaultLogger {
|
|
$clock ??= new SystemClock();
|
|
|
|
return new DefaultLogger($clock, $minLevel, $handlers);
|
|
}
|
|
|
|
/**
|
|
* Gibt den Standard-Logger zurück oder erstellt ihn, falls er noch nicht existiert.
|
|
*
|
|
* @deprecated Verwende stattdessen Dependency Injection. Der Logger wird automatisch über LoggerInitializer erstellt.
|
|
*/
|
|
public static function getDefaultLogger(): DefaultLogger
|
|
{
|
|
if (self::$defaultLogger === null) {
|
|
$debug = filter_var(getenv('APP_DEBUG'), FILTER_VALIDATE_BOOLEAN);
|
|
$minLevel = $debug ? LogLevel::DEBUG : LogLevel::INFO;
|
|
|
|
self::$defaultLogger = self::create(null, $minLevel);
|
|
}
|
|
|
|
return self::$defaultLogger;
|
|
}
|
|
|
|
/**
|
|
* Setzt einen benutzerdefinierten Logger als Standard-Logger.
|
|
*
|
|
* @deprecated Verwende stattdessen Dependency Injection.
|
|
*/
|
|
public static function setDefaultLogger(DefaultLogger $logger): void
|
|
{
|
|
self::$defaultLogger = $logger;
|
|
}
|
|
}
|