File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change 77use Monolog \Level as MonologLevel ;
88use Monolog \Logger as MonologLogger ;
99use Monolog \LogRecord ;
10+ use Psr \Log \InvalidArgumentException ;
1011use Psr \Log \LogLevel as PsrLogLevel ;
1112use Sentry \Monolog \CompatibilityLogLevelTrait ;
1213use Sentry \Monolog \LogsHandler as BaseLogsHandler ;
@@ -27,7 +28,11 @@ class LogsHandler extends BaseLogsHandler
2728 */
2829 public function __construct ($ level = MonologLogger::DEBUG , bool $ bubble = true )
2930 {
30- $ level = MonologLogger::toMonologLevel ($ level );
31+ try {
32+ $ level = MonologLogger::toMonologLevel ($ level );
33+ } catch (InvalidArgumentException $ e ) {
34+ $ level = MonologLogger::INFO ;
35+ }
3136 if ($ level instanceof MonologLevel) { // Monolog >= 3
3237 $ level = $ level ->value ;
3338 }
Original file line number Diff line number Diff line change @@ -84,4 +84,18 @@ public static function levelProvider(): iterable
8484 yield [MonologLevel::Debug];
8585 }
8686 }
87+
88+ public function testHandlerFallbacksToInfoOnInvalidAsLevel (): void
89+ {
90+ /** @phpstan-ignore-next-line */
91+ $ handler = new LogsHandler (123124213 , false );
92+ $ record = [
93+ 'message ' => 'msg ' ,
94+ 'context ' => [],
95+ 'extra ' => [],
96+ ];
97+
98+ $ this ->assertFalse ($ handler ->handle ($ record + ['level ' => MonologLogger::DEBUG ]));
99+ $ this ->assertTrue ($ handler ->handle ($ record + ['level ' => MonologLogger::WARNING ]));
100+ }
87101}
You can’t perform that action at this time.
0 commit comments