* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bridge\Monolog; trigger_deprecation('symfony/monolog-bridge', '6.4', 'The "%s" class is deprecated, use HttpKernel\'s DebugLoggerConfigurator instead.', Logger::class); use Monolog\Logger as BaseLogger; use Monolog\ResettableInterface; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Log\DebugLoggerInterface; use Symfony\Contracts\Service\ResetInterface; /** * @deprecated since Symfony 6.4, use HttpKernel's DebugLoggerConfigurator instead */ class Logger extends BaseLogger implements DebugLoggerInterface, ResetInterface { public function getLogs(?Request $request = null): array { if ($logger = $this->getDebugLogger()) { return $logger->getLogs($request); } return []; } public function countErrors(?Request $request = null): int { if ($logger = $this->getDebugLogger()) { return $logger->countErrors($request); } return 0; } public function clear(): void { if ($logger = $this->getDebugLogger()) { $logger->clear(); } } public function reset(): void { $this->clear(); if ($this instanceof ResettableInterface) { parent::reset(); } } /** * @return void */ public function removeDebugLogger() { foreach ($this->processors as $k => $processor) { if ($processor instanceof DebugLoggerInterface) { unset($this->processors[$k]); } } foreach ($this->handlers as $k => $handler) { if ($handler instanceof DebugLoggerInterface) { unset($this->handlers[$k]); } } } /** * Returns a DebugLoggerInterface instance if one is registered with this logger. */ private function getDebugLogger(): ?DebugLoggerInterface { foreach ($this->processors as $processor) { if ($processor instanceof DebugLoggerInterface) { return $processor; } } foreach ($this->handlers as $handler) { if ($handler instanceof DebugLoggerInterface) { return $handler; } } return null; } }