Skip to content

Commit a7856da

Browse files
[HttpKernel][MonologBridge][FrameworkBundle] Revisit wiring of debug loggers
1 parent 4606073 commit a7856da

File tree

20 files changed

+121
-51
lines changed

20 files changed

+121
-51
lines changed

.github/expected-missing-return-types.diff

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ diff --git a/src/Symfony/Bridge/Monolog/Handler/MailerHandler.php b/src/Symfony/
357357
diff --git a/src/Symfony/Bridge/Monolog/Logger.php b/src/Symfony/Bridge/Monolog/Logger.php
358358
--- a/src/Symfony/Bridge/Monolog/Logger.php
359359
+++ b/src/Symfony/Bridge/Monolog/Logger.php
360-
@@ -60,5 +60,5 @@ class Logger extends BaseLogger implements DebugLoggerInterface, ResetInterface
360+
@@ -62,5 +62,5 @@ class Logger extends BaseLogger implements DebugLoggerInterface, ResetInterface
361361
* @return void
362362
*/
363363
- public function removeDebugLogger()
@@ -567,13 +567,13 @@ diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/Add
567567
+ public function process(ContainerBuilder $container): void
568568
{
569569
if (!$container->hasDefinition('profiler')) {
570-
@@ -41,5 +41,5 @@ class AddDebugLogProcessorPass implements CompilerPassInterface
570+
@@ -42,5 +42,5 @@ class AddDebugLogProcessorPass implements CompilerPassInterface
571571
* @return void
572572
*/
573573
- public static function configureLogger(mixed $logger)
574574
+ public static function configureLogger(mixed $logger): void
575575
{
576-
if (\is_object($logger) && method_exists($logger, 'removeDebugLogger') && \in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) {
576+
trigger_deprecation('symfony/framework-bundle', '6.4', 'The "%s()" method is deprecated, use HttpKernel\'s DebugLoggerConfigurator instead.', __METHOD__);
577577
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddExpressionLanguageProvidersPass.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddExpressionLanguageProvidersPass.php
578578
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddExpressionLanguageProvidersPass.php
579579
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/AddExpressionLanguageProvidersPass.php
@@ -687,14 +687,14 @@ diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/Wor
687687
diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
688688
--- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
689689
+++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
690-
@@ -218,5 +218,5 @@ class FrameworkExtension extends Extension
690+
@@ -219,5 +219,5 @@ class FrameworkExtension extends Extension
691691
* @throws LogicException
692692
*/
693693
- public function load(array $configs, ContainerBuilder $container)
694694
+ public function load(array $configs, ContainerBuilder $container): void
695695
{
696696
$loader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Resources/config'));
697-
@@ -2974,5 +2974,5 @@ class FrameworkExtension extends Extension
697+
@@ -2979,5 +2979,5 @@ class FrameworkExtension extends Extension
698698
* @return void
699699
*/
700700
- public static function registerRateLimiter(ContainerBuilder $container, string $name, array $limiterConfig)
@@ -704,14 +704,14 @@ diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExt
704704
diff --git a/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php b/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
705705
--- a/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
706706
+++ b/src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
707-
@@ -94,5 +94,5 @@ class FrameworkBundle extends Bundle
707+
@@ -93,5 +93,5 @@ class FrameworkBundle extends Bundle
708708
* @return void
709709
*/
710710
- public function boot()
711711
+ public function boot(): void
712712
{
713713
$_ENV['DOCTRINE_DEPRECATIONS'] = $_SERVER['DOCTRINE_DEPRECATIONS'] ??= 'trigger';
714-
@@ -119,5 +119,5 @@ class FrameworkBundle extends Bundle
714+
@@ -118,5 +118,5 @@ class FrameworkBundle extends Bundle
715715
* @return void
716716
*/
717717
- public function build(ContainerBuilder $container)
@@ -8310,7 +8310,7 @@ diff --git a/src/Symfony/Component/HttpKernel/DependencyInjection/FragmentRender
83108310
diff --git a/src/Symfony/Component/HttpKernel/DependencyInjection/LoggerPass.php b/src/Symfony/Component/HttpKernel/DependencyInjection/LoggerPass.php
83118311
--- a/src/Symfony/Component/HttpKernel/DependencyInjection/LoggerPass.php
83128312
+++ b/src/Symfony/Component/HttpKernel/DependencyInjection/LoggerPass.php
8313-
@@ -29,5 +29,5 @@ class LoggerPass implements CompilerPassInterface
8313+
@@ -30,5 +30,5 @@ class LoggerPass implements CompilerPassInterface
83148314
* @return void
83158315
*/
83168316
- public function process(ContainerBuilder $container)

src/Symfony/Bridge/Monolog/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ CHANGELOG
55
---
66

77
* Add native return type to `Logger::clear()` and to `DebugProcessor::clear()`
8+
* Deprecate class `Logger`, use HttpKernel's `DebugLoggerConfigurator` instead
89

910
6.1
1011
---

src/Symfony/Bridge/Monolog/Logger.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@
1111

1212
namespace Symfony\Bridge\Monolog;
1313

14+
trigger_deprecation('symfony/monolog-bridge', '6.4', 'The "%s" class is deprecated, use HttpKernel\'s DebugLoggerConfigurator instead.', Logger::class);
15+
1416
use Monolog\Logger as BaseLogger;
1517
use Monolog\ResettableInterface;
1618
use Symfony\Component\HttpFoundation\Request;
1719
use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
1820
use Symfony\Contracts\Service\ResetInterface;
1921

2022
/**
21-
* @author Fabien Potencier <fabien@symfony.com>
23+
* @deprecated since Symfony 6.4, use HttpKernel's DebugLoggerConfigurator instead
2224
*/
2325
class Logger extends BaseLogger implements DebugLoggerInterface, ResetInterface
2426
{

src/Symfony/Bridge/Monolog/Tests/Handler/FirePHPHandlerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
namespace Symfony\Bridge\Monolog\Tests\Handler;
1313

1414
use PHPUnit\Framework\TestCase;
15+
use Monolog\Logger;
1516
use Symfony\Bridge\Monolog\Handler\FirePHPHandler;
16-
use Symfony\Bridge\Monolog\Logger;
1717
use Symfony\Component\EventDispatcher\EventDispatcher;
1818
use Symfony\Component\HttpFoundation\Request;
1919
use Symfony\Component\HttpFoundation\Response;

src/Symfony/Bridge/Monolog/Tests/Handler/MailerHandlerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313

1414
use Monolog\Formatter\HtmlFormatter;
1515
use Monolog\Formatter\LineFormatter;
16+
use Monolog\Logger;
1617
use Monolog\LogRecord;
1718
use PHPUnit\Framework\MockObject\MockObject;
1819
use PHPUnit\Framework\TestCase;
1920
use Symfony\Bridge\Monolog\Handler\MailerHandler;
20-
use Symfony\Bridge\Monolog\Logger;
2121
use Symfony\Bridge\Monolog\Tests\RecordFactory;
2222
use Symfony\Component\Mailer\MailerInterface;
2323
use Symfony\Component\Mime\Email;

src/Symfony/Bridge/Monolog/Tests/LoggerTest.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
use Symfony\Bridge\Monolog\Processor\DebugProcessor;
1919
use Symfony\Component\HttpFoundation\Request;
2020

21+
/**
22+
* @group legacy
23+
*/
2124
class LoggerTest extends TestCase
2225
{
2326
public function testGetLogsWithoutDebugProcessor()

src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ CHANGELOG
1010
* Add `DomCrawlerAssertionsTrait::assertAnySelectorTextContains(string $selector, string $text)`
1111
* Add `DomCrawlerAssertionsTrait::assertAnySelectorTextSame(string $selector, string $text)`
1212
* Add `DomCrawlerAssertionsTrait::assertAnySelectorTextNotContains(string $selector, string $text)`
13+
* Deprecate `EnableLoggerDebugModePass`, use argument `$debug` of HttpKernel's `Logger` instead
14+
* Deprecate `AddDebugLogProcessorPass::configureLogger()`, use HttpKernel's `DebugLoggerConfigurator` instead
1315

1416
6.3
1517
---

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,19 @@ public function process(ContainerBuilder $container)
3232
return;
3333
}
3434

35-
$definition = $container->getDefinition('monolog.logger_prototype');
36-
$definition->setConfigurator([__CLASS__, 'configureLogger']);
37-
$definition->addMethodCall('pushProcessor', [new Reference('debug.log_processor')]);
35+
$container->getDefinition('monolog.logger_prototype')
36+
->setConfigurator([new Reference('debug.debug_logger_configurator'), 'pushDebugLogger']);
3837
}
3938

4039
/**
40+
* @deprecated since Symfony 6.4, use HttpKernel's DebugLoggerConfigurator instead
41+
*
4142
* @return void
4243
*/
4344
public static function configureLogger(mixed $logger)
4445
{
46+
trigger_deprecation('symfony/framework-bundle', '6.4', 'The "%s()" method is deprecated, use HttpKernel\'s DebugLoggerConfigurator instead.', __METHOD__);
47+
4548
if (\is_object($logger) && method_exists($logger, 'removeDebugLogger') && \in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) {
4649
$logger->removeDebugLogger();
4750
}

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,15 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler;
1313

14+
trigger_deprecation('symfony/framework-bundle', '6.4', 'The "%s" class is deprecated, use argument $debug of HttpKernel\'s Logger instead.', EnableLoggerDebugModePass::class);
15+
1416
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
1517
use Symfony\Component\DependencyInjection\ContainerBuilder;
1618
use Symfony\Component\HttpKernel\Log\Logger;
1719

20+
/**
21+
* @deprecated since Symfony 6.4, use argument $debug of HttpKernel's Logger instead
22+
*/
1823
final class EnableLoggerDebugModePass implements CompilerPassInterface
1924
{
2025
public function process(ContainerBuilder $container): void
@@ -32,7 +37,7 @@ public function process(ContainerBuilder $container): void
3237

3338
public static function configureLogger(Logger $logger): void
3439
{
35-
if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && method_exists($logger, 'enableDebug')) {
40+
if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) {
3641
$logger->enableDebug();
3742
}
3843
}

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
use Symfony\Component\HttpKernel\Controller\ValueResolverInterface;
102102
use Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface;
103103
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
104+
use Symfony\Component\HttpKernel\Log\DebugLoggerConfigurator;
104105
use Symfony\Component\Lock\LockFactory;
105106
use Symfony\Component\Lock\LockInterface;
106107
use Symfony\Component\Lock\PersistingStoreInterface;
@@ -1171,7 +1172,11 @@ private function registerDebugConfiguration(array $config, ContainerBuilder $con
11711172
$definition = new Definition(DebugProcessor::class);
11721173
$definition->setPublic(false);
11731174
$definition->addArgument(new Reference('request_stack'));
1175+
$definition->addTag('kernel.reset', ['method' => 'reset']);
11741176
$container->setDefinition('debug.log_processor', $definition);
1177+
1178+
$container->register('debug.debug_logger_configurator', DebugLoggerConfigurator::class)
1179+
->setArguments([new Reference('debug.log_processor')]);
11751180
}
11761181
}
11771182

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy