Skip to content

Commit 81baf53

Browse files
committed
do not register the debug logger as a Monolog processor
1 parent 6c3d377 commit 81baf53

File tree

2 files changed

+10
-15
lines changed

2 files changed

+10
-15
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddDebugLogProcessorPass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public function process(ContainerBuilder $container)
3333
}
3434

3535
$container->getDefinition('monolog.logger_prototype')
36-
->setConfigurator([new Reference('debug.debug_logger_configurator'), 'pushDebugLogger']);
36+
->setConfigurator([new Reference('debug.debug_logger_configurator'), 'registerForDebugLogger']);
3737
}
3838

3939
/**

src/Symfony/Component/HttpKernel/Log/DebugLoggerConfigurator.php

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,21 @@
1818
*/
1919
class DebugLoggerConfigurator
2020
{
21-
private ?DebugLoggerInterface $processor = null;
21+
private static \WeakMap $registeredLoggers;
22+
private ?DebugLoggerInterface $debugLogger = null;
2223

23-
public function __construct(DebugLoggerInterface $processor, bool $enable = null)
24+
public function __construct(DebugLoggerInterface $debugLogger, bool $enable = null)
2425
{
26+
self::$registeredLoggers ??= new \WeakMap();
27+
2528
if ($enable ?? !\in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
26-
$this->processor = $processor;
29+
$this->debugLogger = $debugLogger;
2730
}
2831
}
2932

30-
public function pushDebugLogger(Logger $logger): void
33+
public function registerForDebugLogger(Logger $logger): void
3134
{
32-
if ($this->processor) {
33-
$logger->pushProcessor($this->processor);
34-
}
35+
self::$registeredLoggers[$logger] = $this->debugLogger;
3536
}
3637

3738
public static function getDebugLogger(mixed $logger): ?DebugLoggerInterface
@@ -44,12 +45,6 @@ public static function getDebugLogger(mixed $logger): ?DebugLoggerInterface
4445
return null;
4546
}
4647

47-
foreach ($logger->getProcessors() as $processor) {
48-
if ($processor instanceof DebugLoggerInterface) {
49-
return $processor;
50-
}
51-
}
52-
53-
return null;
48+
return self::$registeredLoggers[$logger] ?? null;
5449
}
5550
}

0 commit comments

Comments
 (0)