diff --git a/src/Symfony/Bridge/Monolog/CHANGELOG.md b/src/Symfony/Bridge/Monolog/CHANGELOG.md index 072b742a5f4e1..0986a995eff8f 100644 --- a/src/Symfony/Bridge/Monolog/CHANGELOG.md +++ b/src/Symfony/Bridge/Monolog/CHANGELOG.md @@ -1,6 +1,12 @@ CHANGELOG ========= +6.0 +--- + + * The `$actionLevel` constructor argument of `NotFoundActivationStrategy` has been replaced by the `$inner` one which expects an `ActivationStrategyInterface` to decorate instead + * The `$actionLevel` constructor argument of `HttpCodeActivationStrategy` has been replaced by the `$inner` one which expects an `ActivationStrategyInterface` to decorate instead + 5.3 --- diff --git a/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/HttpCodeActivationStrategy.php b/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/HttpCodeActivationStrategy.php index 92dbbcbd12a58..fc78f2dc32c49 100644 --- a/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/HttpCodeActivationStrategy.php +++ b/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/HttpCodeActivationStrategy.php @@ -12,7 +12,6 @@ namespace Symfony\Bridge\Monolog\Handler\FingersCrossed; use Monolog\Handler\FingersCrossed\ActivationStrategyInterface; -use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpKernel\Exception\HttpException; @@ -21,28 +20,17 @@ * * @author Shaun Simmons * @author Pierrick Vignand - * - * @final */ -class HttpCodeActivationStrategy extends ErrorLevelActivationStrategy implements ActivationStrategyInterface +final class HttpCodeActivationStrategy implements ActivationStrategyInterface { - private $inner; - private $exclusions; - private $requestStack; - /** - * @param array $exclusions each exclusion must have a "code" and "urls" keys - * @param ActivationStrategyInterface|int|string $inner an ActivationStrategyInterface to decorate + * @param array $exclusions each exclusion must have a "code" and "urls" keys */ - public function __construct(RequestStack $requestStack, array $exclusions, $inner) - { - if (!$inner instanceof ActivationStrategyInterface) { - trigger_deprecation('symfony/monolog-bridge', '5.2', 'Passing an actionLevel (int|string) as constructor\'s 3rd argument of "%s" is deprecated, "%s" expected.', __CLASS__, ActivationStrategyInterface::class); - - $actionLevel = $inner; - $inner = new ErrorLevelActivationStrategy($actionLevel); - } - + public function __construct( + private RequestStack $requestStack, + private array $exclusions, + private ActivationStrategyInterface $inner, + ) { foreach ($exclusions as $exclusion) { if (!\array_key_exists('code', $exclusion)) { throw new \LogicException('An exclusion must have a "code" key.'); @@ -51,10 +39,6 @@ public function __construct(RequestStack $requestStack, array $exclusions, $inne throw new \LogicException('An exclusion must have a "urls" key.'); } } - - $this->inner = $inner; - $this->requestStack = $requestStack; - $this->exclusions = $exclusions; } public function isHandlerActivated(array $record): bool diff --git a/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/NotFoundActivationStrategy.php b/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/NotFoundActivationStrategy.php index 4ab21f9df3c59..8eda05188e11a 100644 --- a/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/NotFoundActivationStrategy.php +++ b/src/Symfony/Bridge/Monolog/Handler/FingersCrossed/NotFoundActivationStrategy.php @@ -12,7 +12,6 @@ namespace Symfony\Bridge\Monolog\Handler\FingersCrossed; use Monolog\Handler\FingersCrossed\ActivationStrategyInterface; -use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpKernel\Exception\HttpException; @@ -22,29 +21,16 @@ * @author Jordi Boggiano * @author Fabien Potencier * @author Pierrick Vignand - * - * @final */ -class NotFoundActivationStrategy extends ErrorLevelActivationStrategy implements ActivationStrategyInterface +final class NotFoundActivationStrategy implements ActivationStrategyInterface { - private $inner; private $exclude; - private $requestStack; - - /** - * @param ActivationStrategyInterface|int|string $inner an ActivationStrategyInterface to decorate - */ - public function __construct(RequestStack $requestStack, array $excludedUrls, $inner) - { - if (!$inner instanceof ActivationStrategyInterface) { - trigger_deprecation('symfony/monolog-bridge', '5.2', 'Passing an actionLevel (int|string) as constructor\'s 3rd argument of "%s" is deprecated, "%s" expected.', __CLASS__, ActivationStrategyInterface::class); - - $actionLevel = $inner; - $inner = new ErrorLevelActivationStrategy($actionLevel); - } - $this->inner = $inner; - $this->requestStack = $requestStack; + public function __construct( + private RequestStack $requestStack, + array $excludedUrls, + private ActivationStrategyInterface $inner + ) { $this->exclude = '{('.implode('|', $excludedUrls).')}i'; } diff --git a/src/Symfony/Bridge/Monolog/Tests/Handler/FingersCrossed/HttpCodeActivationStrategyTest.php b/src/Symfony/Bridge/Monolog/Tests/Handler/FingersCrossed/HttpCodeActivationStrategyTest.php index 073f3eee1f86f..ea6931670d863 100644 --- a/src/Symfony/Bridge/Monolog/Tests/Handler/FingersCrossed/HttpCodeActivationStrategyTest.php +++ b/src/Symfony/Bridge/Monolog/Tests/Handler/FingersCrossed/HttpCodeActivationStrategyTest.php @@ -21,48 +21,6 @@ class HttpCodeActivationStrategyTest extends TestCase { - /** - * @group legacy - */ - public function testExclusionsWithoutCodeLegacy() - { - $this->expectException(\LogicException::class); - new HttpCodeActivationStrategy(new RequestStack(), [['urls' => []]], Logger::WARNING); - } - - /** - * @group legacy - */ - public function testExclusionsWithoutUrlsLegacy() - { - $this->expectException(\LogicException::class); - new HttpCodeActivationStrategy(new RequestStack(), [['code' => 404]], Logger::WARNING); - } - - /** - * @dataProvider isActivatedProvider - * - * @group legacy - */ - public function testIsActivatedLegacy($url, $record, $expected) - { - $requestStack = new RequestStack(); - $requestStack->push(Request::create($url)); - - $strategy = new HttpCodeActivationStrategy( - $requestStack, - [ - ['code' => 403, 'urls' => []], - ['code' => 404, 'urls' => []], - ['code' => 405, 'urls' => []], - ['code' => 400, 'urls' => ['^/400/a', '^/400/b']], - ], - Logger::WARNING - ); - - self::assertEquals($expected, $strategy->isHandlerActivated($record)); - } - public function testExclusionsWithoutCode() { $this->expectException(\LogicException::class); diff --git a/src/Symfony/Bridge/Monolog/Tests/Handler/FingersCrossed/NotFoundActivationStrategyTest.php b/src/Symfony/Bridge/Monolog/Tests/Handler/FingersCrossed/NotFoundActivationStrategyTest.php index a60cc450c7236..95590186d55f3 100644 --- a/src/Symfony/Bridge/Monolog/Tests/Handler/FingersCrossed/NotFoundActivationStrategyTest.php +++ b/src/Symfony/Bridge/Monolog/Tests/Handler/FingersCrossed/NotFoundActivationStrategyTest.php @@ -21,21 +21,6 @@ class NotFoundActivationStrategyTest extends TestCase { - /** - * @dataProvider isActivatedProvider - * - * @group legacy - */ - public function testIsActivatedLegacy(string $url, array $record, bool $expected) - { - $requestStack = new RequestStack(); - $requestStack->push(Request::create($url)); - - $strategy = new NotFoundActivationStrategy($requestStack, ['^/foo', 'bar'], Logger::WARNING); - - self::assertEquals($expected, $strategy->isHandlerActivated($record)); - } - /** * @dataProvider isActivatedProvider */ diff --git a/src/Symfony/Bridge/Monolog/composer.json b/src/Symfony/Bridge/Monolog/composer.json index c924481243f15..73dfd650478f1 100644 --- a/src/Symfony/Bridge/Monolog/composer.json +++ b/src/Symfony/Bridge/Monolog/composer.json @@ -19,8 +19,7 @@ "php": ">=8.0.2", "monolog/monolog": "^1.25.1|^2", "symfony/service-contracts": "^1.1|^2", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/deprecation-contracts": "^2.1" + "symfony/http-kernel": "^5.4|^6.0" }, "require-dev": { "symfony/console": "^5.4|^6.0",