<?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Component\Messenger\EventListener;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\Messenger\Event\WorkerMessageFailedEvent;use Symfony\Component\Messenger\Stamp\ErrorDetailsStamp;final class AddErrorDetailsStampListener implements EventSubscriberInterface{ public function onMessageFailed(WorkerMessageFailedEvent $event): void { $stamp = ErrorDetailsStamp::create($event->getThrowable()); $previousStamp = $event->getEnvelope()->last(ErrorDetailsStamp::class); // Do not append duplicate information if (null === $previousStamp || !$previousStamp->equals($stamp)) { $event->addStamps($stamp); } } public static function getSubscribedEvents(): array { return [ // must have higher priority than SendFailedMessageForRetryListener WorkerMessageFailedEvent::class => ['onMessageFailed', 200], ]; }}