Skip to content

Commit a72ea69

Browse files
committed
minor #27066 [Messenger] unwrap ReceivedMessage in LoggingMiddleware to improve log detail (kbond)
This PR was merged into the 4.1-dev branch. Discussion ---------- [Messenger] unwrap ReceivedMessage in LoggingMiddleware to improve log detail | Q | A | ------------- | --- | Branch? | master | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | - | License | MIT | Doc PR | - The change gives better visibility in your logs when consuming messages. Commits ------- 78bb0252b4 [Messenger] unwrap ReceivedMessage in LoggingMiddleware to improve log detail
2 parents 4262c91 + 835d5aa commit a72ea69

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)