11
11
12
12
namespace Symfony \Component \Messenger \Middleware ;
13
13
14
+ use Symfony \Component \Messenger \Asynchronous \Transport \ReceivedMessage ;
14
15
use Symfony \Component \Messenger \MiddlewareInterface ;
15
16
use Psr \Log \LoggerInterface ;
16
17
@@ -31,28 +32,33 @@ public function __construct(LoggerInterface $logger)
31
32
*/
32
33
public function handle ($ message , callable $ next )
33
34
{
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 ));
38
36
39
37
try {
40
38
$ result = $ next ($ message );
41
39
} 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 )
46
43
));
47
44
48
45
throw $ e ;
49
46
}
50
47
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 ));
55
49
56
50
return $ result ;
57
51
}
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
+ }
58
64
}
0 commit comments