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 7
7
use Monolog \Level as MonologLevel ;
8
8
use Monolog \Logger as MonologLogger ;
9
9
use Monolog \LogRecord ;
10
+ use Psr \Log \InvalidArgumentException ;
10
11
use Psr \Log \LogLevel as PsrLogLevel ;
11
12
use Sentry \Monolog \CompatibilityLogLevelTrait ;
12
13
use Sentry \Monolog \LogsHandler as BaseLogsHandler ;
@@ -27,7 +28,11 @@ class LogsHandler extends BaseLogsHandler
27
28
*/
28
29
public function __construct ($ level = MonologLogger::DEBUG , bool $ bubble = true )
29
30
{
30
- $ level = MonologLogger::toMonologLevel ($ level );
31
+ try {
32
+ $ level = MonologLogger::toMonologLevel ($ level );
33
+ } catch (InvalidArgumentException $ e ) {
34
+ $ level = MonologLogger::INFO ;
35
+ }
31
36
if ($ level instanceof MonologLevel) { // Monolog >= 3
32
37
$ level = $ level ->value ;
33
38
}
Original file line number Diff line number Diff line change @@ -84,4 +84,18 @@ public static function levelProvider(): iterable
84
84
yield [MonologLevel::Debug];
85
85
}
86
86
}
87
+
88
+ public function testHandlerFallbacksToInfoOnInvalidLevel (): 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
+ }
87
101
}
You can’t perform that action at this time.
0 commit comments