Enable Discovery debug logging for production troubleshooting

- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
2025-08-11 20:13:26 +02:00
parent 59fd3dd3b1
commit 55a330b223
3683 changed files with 2956207 additions and 16948 deletions

View File

@@ -1,8 +1,10 @@
<?php
declare(strict_types=1);
namespace App\Framework\Logging\Handlers;
use App\Framework\Core\PathProvider;
use App\Framework\Logging\LogHandler;
use App\Framework\Logging\LogLevel;
use App\Framework\Logging\LogRecord;
@@ -28,18 +30,32 @@ class JsonFileHandler implements LogHandler
*/
private array $includedFields;
/**
* @var PathProvider|null PathProvider für die Auflösung von Pfaden
*/
private ?PathProvider $pathProvider = null;
/**
* Erstellt einen neuen JsonFileHandler
*
* @param string $logFile Pfad zur Log-Datei
* @param LogLevel|int $minLevel Minimales Level, ab dem dieser Handler aktiv wird
* @param array|null $includedFields Liste der Felder, die in der JSON-Ausgabe enthalten sein sollen (null = alle)
* @param PathProvider|null $pathProvider Optional: PathProvider für die Auflösung von Pfaden
*/
public function __construct(
string $logFile,
LogLevel|int $minLevel = LogLevel::INFO,
?array $includedFields = null
?array $includedFields = null,
?PathProvider $pathProvider = null
) {
$this->pathProvider = $pathProvider;
// Pfad auflösen, falls PathProvider vorhanden
if ($this->pathProvider !== null && ! str_starts_with($logFile, '/')) {
$logFile = $this->pathProvider->resolvePath($logFile);
}
$this->logFile = $logFile;
$this->minLevel = $minLevel instanceof LogLevel ? $minLevel : LogLevel::fromValue($minLevel);
@@ -74,7 +90,7 @@ class JsonFileHandler implements LogHandler
$data = $record->toArray();
// Nur die gewünschten Felder behalten
if (!empty($this->includedFields)) {
if (! empty($this->includedFields)) {
$data = array_intersect_key($data, array_flip($this->includedFields));
}
@@ -102,7 +118,7 @@ class JsonFileHandler implements LogHandler
*/
private function ensureDirectoryExists(string $dir): void
{
if (!file_exists($dir)) {
if (! file_exists($dir)) {
mkdir($dir, 0777, true);
}
}
@@ -113,6 +129,7 @@ class JsonFileHandler implements LogHandler
public function setMinLevel(LogLevel|int $level): self
{
$this->minLevel = $level instanceof LogLevel ? $level : LogLevel::fromValue($level);
return $this;
}
@@ -122,6 +139,7 @@ class JsonFileHandler implements LogHandler
public function setIncludedFields(array $fields): self
{
$this->includedFields = $fields;
return $this;
}
@@ -130,8 +148,14 @@ class JsonFileHandler implements LogHandler
*/
public function setLogFile(string $logFile): self
{
// Pfad auflösen, falls PathProvider vorhanden
if ($this->pathProvider !== null && ! str_starts_with($logFile, '/')) {
$logFile = $this->pathProvider->resolvePath($logFile);
}
$this->logFile = $logFile;
$this->ensureDirectoryExists(dirname($logFile));
return $this;
}
}