Skip to content

Commit 1b6e420

Browse files
committed
[Messenger] Use "warning" intead of "error" log level for RecoverableException
1 parent 4da4f50 commit 1b6e420

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/Symfony/Component/Messenger/EventListener/SendFailedMessageForRetryListener.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,18 @@ public function onMessageFailed(WorkerMessageFailedEvent $event)
7070
$delay = $retryStrategy->getWaitingTime($envelope, $throwable);
7171

7272
if (null !== $this->logger) {
73-
$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]);
73+
$logLevel = 'error';
74+
if ($throwable instanceof RecoverableExceptionInterface) {
75+
$logLevel = 'warning';
76+
} elseif ($throwable instanceof HandlerFailedException) {
77+
foreach ($throwable->getNestedExceptions() as $nestedException) {
78+
if ($nestedException instanceof RecoverableExceptionInterface) {
79+
$logLevel = 'warning';
80+
break;
81+
}
82+
}
83+
}
84+
$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]);
7485
}
7586

7687
// add the delay and retry stamp info

0 commit comments

Comments
 (0)