File tree Expand file tree Collapse file tree 2 files changed +33
-2
lines changed
Tests/Consumption/Extension Expand file tree Collapse file tree 2 files changed +33
-2
lines changed Original file line number Diff line number Diff line change @@ -31,8 +31,16 @@ public function __construct(LoggerInterface $logger)
31
31
*/
32
32
public function onStart (Context $ context )
33
33
{
34
- $ context ->setLogger ($ this ->logger );
35
- $ this ->logger ->debug (sprintf ('Set context \'s logger %s ' , get_class ($ this ->logger )));
34
+ if ($ context ->getLogger ()) {
35
+ $ context ->getLogger ()->debug (sprintf (
36
+ 'Skip setting context \'s logger "%s". Another one "%s" has already been set. ' ,
37
+ get_class ($ context ->getLogger ()),
38
+ get_class ($ this ->logger )
39
+ ));
40
+ } else {
41
+ $ context ->setLogger ($ this ->logger );
42
+ $ this ->logger ->debug (sprintf ('Set context \'s logger "%s" ' , get_class ($ this ->logger )));
43
+ }
36
44
}
37
45
38
46
/**
Original file line number Diff line number Diff line change @@ -151,6 +151,29 @@ public function testShouldNotLogAckMessageStatusIfReasonIsEmpty()
151
151
$ extension ->onPostReceived ($ context );
152
152
}
153
153
154
+ public function testShouldNotSetLoggerIfOneHasBeenSetOnStart ()
155
+ {
156
+ $ logger = $ this ->createLogger ();
157
+
158
+ $ alreadySetLogger = $ this ->createLogger ();
159
+ $ alreadySetLogger
160
+ ->expects ($ this ->once ())
161
+ ->method ('debug ' )
162
+ ->with (sprintf (
163
+ 'Skip setting context \'s logger "%s". Another one "%s" has already been set. ' ,
164
+ get_class ($ logger ),
165
+ get_class ($ alreadySetLogger )
166
+ ))
167
+ ;
168
+
169
+ $ extension = new LoggerExtension ($ logger );
170
+
171
+ $ context = new Context ($ this ->createPsrContextMock ());
172
+ $ context ->setLogger ($ alreadySetLogger );
173
+
174
+ $ extension ->onStart ($ context );
175
+ }
176
+
154
177
/**
155
178
* @return \PHPUnit_Framework_MockObject_MockObject|PsrContext
156
179
*/
You can’t perform that action at this time.
0 commit comments