made BuferringLogger classes internal and final

This commit is contained in:
Fabien Potencier 2019-06-27 14:45:47 +02:00
parent 13a5e2dd1f
commit 7dd391ed97
4 changed files with 38 additions and 10 deletions

View File

@ -11,13 +11,31 @@
namespace Symfony\Component\Debug; 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 <p@tchwork.com>
*
* @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;
}
} }

View File

@ -18,7 +18,7 @@ use Psr\Log\AbstractLogger;
* *
* @author Nicolas Grekas <p@tchwork.com> * @author Nicolas Grekas <p@tchwork.com>
*/ */
class BufferingLogger extends AbstractLogger final class BufferingLogger extends AbstractLogger
{ {
private $logs = []; private $logs = [];
@ -27,7 +27,7 @@ class BufferingLogger extends AbstractLogger
$this->logs[] = [$level, $message, $context]; $this->logs[] = [$level, $message, $context];
} }
public function cleanLogs() public function cleanLogs(): array
{ {
$logs = $this->logs; $logs = $this->logs;
$this->logs = []; $this->logs = [];

View File

@ -2,14 +2,24 @@
namespace Symfony\Component\ErrorHandler\Tests\Fixtures; 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 = []) public function log($level, $message, array $context = [])
{ {
set_error_handler('is_string'); set_error_handler('is_string');
parent::log($level, $message, $context); $this->logs[] = [$level, $message, $context];
restore_error_handler(); restore_error_handler();
} }
public function cleanLogs(): array
{
$logs = $this->logs;
$this->logs = [];
return $logs;
}
} }

View File

@ -1,6 +1,6 @@
<?php <?php
namespace Symfony\Component\Debug\Tests\Fixtures2; namespace Symfony\Component\ErrorHandler\Tests\Fixtures2;
class RequiredTwice class RequiredTwice
{ {