Skip to content

Commit 835d5aa

Browse files
committed
[Messenger] unwrap ReceivedMessage in LoggingMiddleware to improve log detail
1 parent e5b5e23 commit 835d5aa

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

Middleware/LoggingMiddleware.php

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
namespace Symfony\Component\Messenger\Middleware;
1313

14+
use Symfony\Component\Messenger\Asynchronous\Transport\ReceivedMessage;
1415
use Symfony\Component\Messenger\MiddlewareInterface;
1516
use Psr\Log\LoggerInterface;
1617

@@ -31,28 +32,33 @@ public function __construct(LoggerInterface $logger)
3132
*/
3233
public function handle($message, callable $next)
3334
{
34-
$this->logger->debug('Starting handling message {class}', array(
35-
'message' => $message,
36-
'class' => \get_class($message),
37-
));
35+
$this->logger->debug('Starting handling message {class}', $this->createContext($message));
3836

3937
try {
4038
$result = $next($message);
4139
} catch (\Throwable $e) {
42-
$this->logger->warning('An exception occurred while handling message {class}', array(
43-
'message' => $message,
44-
'exception' => $e,
45-
'class' => \get_class($message),
40+
$this->logger->warning('An exception occurred while handling message {class}', array_merge(
41+
$this->createContext($message),
42+
array('exception' => $e)
4643
));
4744

4845
throw $e;
4946
}
5047

51-
$this->logger->debug('Finished handling message {class}', array(
52-
'message' => $message,
53-
'class' => \get_class($message),
54-
));
48+
$this->logger->debug('Finished handling message {class}', $this->createContext($message));
5549

5650
return $result;
5751
}
52+
53+
private function createContext($message): array
54+
{
55+
if ($message instanceof ReceivedMessage) {
56+
$message = $message->getMessage();
57+
}
58+
59+
return array(
60+
'message' => $message,
61+
'class' => \get_class($message),
62+
);
63+
}
5864
}

0 commit comments

Comments
 (0)