1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-04 20:27:31 +02:00

Fix more instances of bad FormattableHandlerInterface usages

This commit is contained in:
Jordi Boggiano
2020-12-11 13:11:35 +01:00
parent 1d5456ec07
commit 61e5ff2b36
3 changed files with 17 additions and 4 deletions

View File

@@ -27,6 +27,7 @@ class BufferHandler extends AbstractHandler implements ProcessableHandlerInterfa
{ {
use ProcessableHandlerTrait; use ProcessableHandlerTrait;
/** @var HandlerInterface */
protected $handler; protected $handler;
protected $bufferSize = 0; protected $bufferSize = 0;
protected $bufferLimit; protected $bufferLimit;
@@ -137,9 +138,13 @@ class BufferHandler extends AbstractHandler implements ProcessableHandlerInterfa
*/ */
public function setFormatter(FormatterInterface $formatter): HandlerInterface public function setFormatter(FormatterInterface $formatter): HandlerInterface
{ {
$this->handler->setFormatter($formatter); if ($this->handler instanceof FormattableHandlerInterface) {
$this->handler->setFormatter($formatter);
return $this; return $this;
}
throw new \UnexpectedValueException('The nested handler of type '.get_class($this->handler).' does not support formatters.');
} }
/** /**
@@ -147,6 +152,10 @@ class BufferHandler extends AbstractHandler implements ProcessableHandlerInterfa
*/ */
public function getFormatter(): FormatterInterface public function getFormatter(): FormatterInterface
{ {
return $this->handler->getFormatter(); if ($this->handler instanceof FormattableHandlerInterface) {
return $this->handler->getFormatter();
}
throw new \UnexpectedValueException('The nested handler of type '.get_class($this->handler).' does not support formatters.');
} }
} }

View File

@@ -37,6 +37,7 @@ class FingersCrossedHandler extends Handler implements ProcessableHandlerInterfa
{ {
use ProcessableHandlerTrait; use ProcessableHandlerTrait;
/** @var HandlerInterface */
protected $handler; protected $handler;
protected $activationStrategy; protected $activationStrategy;
protected $buffering = true; protected $buffering = true;

View File

@@ -23,6 +23,7 @@ class GroupHandler extends Handler implements ProcessableHandlerInterface, Reset
{ {
use ProcessableHandlerTrait; use ProcessableHandlerTrait;
/** @var HandlerInterface[] */
protected $handlers; protected $handlers;
protected $bubble; protected $bubble;
@@ -116,7 +117,9 @@ class GroupHandler extends Handler implements ProcessableHandlerInterface, Reset
public function setFormatter(FormatterInterface $formatter): HandlerInterface public function setFormatter(FormatterInterface $formatter): HandlerInterface
{ {
foreach ($this->handlers as $handler) { foreach ($this->handlers as $handler) {
$handler->setFormatter($formatter); if ($handler instanceof FormattableHandlerInterface) {
$handler->setFormatter($formatter);
}
} }
return $this; return $this;