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:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user