1010use Throwable ;
1111
1212/**
13- * A PSR-3 logger backed by a console service
13+ * @api
1414 */
1515class ConsoleLogger implements LoggerInterface
1616{
@@ -27,6 +27,9 @@ class ConsoleLogger implements LoggerInterface
2727
2828 private Console $ Console ;
2929
30+ /**
31+ * @api
32+ */
3033 public function __construct (Console $ console )
3134 {
3235 $ this ->Console = $ console ;
@@ -93,7 +96,8 @@ public function info($message, array $context = [])
9396 */
9497 public function debug ($ message , array $ context = [])
9598 {
96- $ this ->log (LogLevel::DEBUG , $ message , $ context );
99+ $ msg1 = $ this ->applyContext ((string ) $ message , $ context , $ ex );
100+ $ this ->Console ->debug ($ msg1 , null , $ ex , 1 );
97101 }
98102
99103 /**
@@ -105,6 +109,16 @@ public function log($level, $message, array $context = [])
105109 throw new InvalidArgumentException ('Invalid log level ' );
106110 }
107111
112+ $ msg1 = $ this ->applyContext ((string ) $ message , $ context , $ ex );
113+ $ level = self ::LOG_LEVEL_MAP [$ level ];
114+ $ this ->Console ->message ($ msg1 , null , $ level , Console::TYPE_STANDARD , $ ex );
115+ }
116+
117+ /**
118+ * @param mixed[] $context
119+ */
120+ private function applyContext (string $ message , array $ context , ?Throwable &$ ex ): string
121+ {
108122 if ($ context ) {
109123 foreach ($ context as $ key => $ value ) {
110124 $ replace ['{ ' . $ key . '} ' ] = Format::value ($ value );
@@ -115,16 +129,10 @@ public function log($level, $message, array $context = [])
115129 isset ($ context ['exception ' ])
116130 && $ context ['exception ' ] instanceof Throwable
117131 ) {
118- $ exception = $ context ['exception ' ];
132+ $ ex = $ context ['exception ' ];
119133 }
120134 }
121135
122- $ this ->Console ->message (
123- (string ) $ message ,
124- null ,
125- self ::LOG_LEVEL_MAP [$ level ],
126- Console::TYPE_STANDARD ,
127- $ exception ?? null ,
128- );
136+ return $ message ;
129137 }
130138}
0 commit comments