From 7dd391ed9763a780167fb409f4d4b947c87796d0 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 27 Jun 2019 14:45:47 +0200 Subject: [PATCH] made BuferringLogger classes internal and final --- .../Component/Debug/BufferingLogger.php | 26 ++++++++++++++++--- .../ErrorHandler/BufferingLogger.php | 4 +-- .../Fixtures/LoggerThatSetAnErrorHandler.php | 16 +++++++++--- .../Tests/Fixtures2/RequiredTwice.php | 2 +- 4 files changed, 38 insertions(+), 10 deletions(-) diff --git a/src/Symfony/Component/Debug/BufferingLogger.php b/src/Symfony/Component/Debug/BufferingLogger.php index c442c7b2b8..6f801c0ab3 100644 --- a/src/Symfony/Component/Debug/BufferingLogger.php +++ b/src/Symfony/Component/Debug/BufferingLogger.php @@ -11,13 +11,31 @@ namespace Symfony\Component\Debug; -use Symfony\Component\ErrorHandler\BufferingLogger as BaseBufferingLogger; +@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4 and will be removed in 5.0.', BufferingLogger::class), E_USER_DEPRECATED); -@trigger_error(sprintf('The "%s" class is deprecated since Symfony 4.4, use "%s" instead.', BufferingLogger::class, BaseBufferingLogger::class), E_USER_DEPRECATED); +use Psr\Log\AbstractLogger; /** - * @deprecated since Symfony 4.4, use Symfony\Component\ErrorHandler\BufferingLogger instead. + * A buffering logger that stacks logs for later. + * + * @author Nicolas Grekas + * + * @deprecated since Symfony 4.4 and will be removed in 5.0. */ -class BufferingLogger extends BaseBufferingLogger +class BufferingLogger extends AbstractLogger { + private $logs = []; + + public function log($level, $message, array $context = []) + { + $this->logs[] = [$level, $message, $context]; + } + + public function cleanLogs() + { + $logs = $this->logs; + $this->logs = []; + + return $logs; + } } diff --git a/src/Symfony/Component/ErrorHandler/BufferingLogger.php b/src/Symfony/Component/ErrorHandler/BufferingLogger.php index fef10d16e5..543c84bfd6 100644 --- a/src/Symfony/Component/ErrorHandler/BufferingLogger.php +++ b/src/Symfony/Component/ErrorHandler/BufferingLogger.php @@ -18,7 +18,7 @@ use Psr\Log\AbstractLogger; * * @author Nicolas Grekas */ -class BufferingLogger extends AbstractLogger +final class BufferingLogger extends AbstractLogger { private $logs = []; @@ -27,7 +27,7 @@ class BufferingLogger extends AbstractLogger $this->logs[] = [$level, $message, $context]; } - public function cleanLogs() + public function cleanLogs(): array { $logs = $this->logs; $this->logs = []; diff --git a/src/Symfony/Component/ErrorHandler/Tests/Fixtures/LoggerThatSetAnErrorHandler.php b/src/Symfony/Component/ErrorHandler/Tests/Fixtures/LoggerThatSetAnErrorHandler.php index eaf41582a3..60b28ec87b 100644 --- a/src/Symfony/Component/ErrorHandler/Tests/Fixtures/LoggerThatSetAnErrorHandler.php +++ b/src/Symfony/Component/ErrorHandler/Tests/Fixtures/LoggerThatSetAnErrorHandler.php @@ -2,14 +2,24 @@ namespace Symfony\Component\ErrorHandler\Tests\Fixtures; -use Symfony\Component\ErrorHandler\BufferingLogger; +use Psr\Log\AbstractLogger; -class LoggerThatSetAnErrorHandler extends BufferingLogger +class LoggerThatSetAnErrorHandler extends AbstractLogger { + private $logs = []; + public function log($level, $message, array $context = []) { set_error_handler('is_string'); - parent::log($level, $message, $context); + $this->logs[] = [$level, $message, $context]; restore_error_handler(); } + + public function cleanLogs(): array + { + $logs = $this->logs; + $this->logs = []; + + return $logs; + } } diff --git a/src/Symfony/Component/ErrorHandler/Tests/Fixtures2/RequiredTwice.php b/src/Symfony/Component/ErrorHandler/Tests/Fixtures2/RequiredTwice.php index 604bc37ff1..14de3a0a52 100644 --- a/src/Symfony/Component/ErrorHandler/Tests/Fixtures2/RequiredTwice.php +++ b/src/Symfony/Component/ErrorHandler/Tests/Fixtures2/RequiredTwice.php @@ -1,6 +1,6 @@