[Messenger] Use "warning" intead of "error" log level for RecoverableException
This commit is contained in:
parent
4da4f50837
commit
a885ba844d
@ -12,6 +12,7 @@ namespace Symfony\Component\Messenger\EventListener;
|
|||||||
|
|
||||||
use Psr\Container\ContainerInterface;
|
use Psr\Container\ContainerInterface;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
use Psr\Log\LogLevel;
|
||||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||||
use Symfony\Component\Messenger\Envelope;
|
use Symfony\Component\Messenger\Envelope;
|
||||||
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
|
use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;
|
||||||
@ -70,7 +71,18 @@ class SendFailedMessageForRetryListener implements EventSubscriberInterface
|
|||||||
$delay = $retryStrategy->getWaitingTime($envelope, $throwable);
|
$delay = $retryStrategy->getWaitingTime($envelope, $throwable);
|
||||||
|
|
||||||
if (null !== $this->logger) {
|
if (null !== $this->logger) {
|
||||||
$this->logger->error('Error thrown while handling message {class}. Sending for retry #{retryCount} using {delay} ms delay. Error: "{error}"', $context + ['retryCount' => $retryCount, 'delay' => $delay, 'error' => $throwable->getMessage(), 'exception' => $throwable]);
|
$logLevel = LogLevel::ERROR;
|
||||||
|
if ($throwable instanceof RecoverableExceptionInterface) {
|
||||||
|
$logLevel = LogLevel::WARNING;
|
||||||
|
} elseif ($throwable instanceof HandlerFailedException) {
|
||||||
|
foreach ($throwable->getNestedExceptions() as $nestedException) {
|
||||||
|
if ($nestedException instanceof RecoverableExceptionInterface) {
|
||||||
|
$logLevel = LogLevel::WARNING;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->logger->log($logLevel, 'Error thrown while handling message {class}. Sending for retry #{retryCount} using {delay} ms delay. Error: "{error}"', $context + ['retryCount' => $retryCount, 'delay' => $delay, 'error' => $throwable->getMessage(), 'exception' => $throwable]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// add the delay and retry stamp info
|
// add the delay and retry stamp info
|
||||||
|
Reference in New Issue
Block a user