11import { logger as sentryLogger } from '@sentry/core' ;
22import * as Logger from 'effect/Logger' ;
3- import * as LogLevel from 'effect/LogLevel' ;
43
54/**
65 * Effect Logger that sends logs to Sentry.
@@ -16,15 +15,29 @@ export const SentryEffectLogger = Logger.make(({ logLevel, message }) => {
1615 msg = JSON . stringify ( message ) ;
1716 }
1817
19- if ( LogLevel . greaterThanEqual ( logLevel , LogLevel . Error ) ) {
20- sentryLogger . error ( msg ) ;
21- } else if ( LogLevel . greaterThanEqual ( logLevel , LogLevel . Warning ) ) {
22- sentryLogger . warn ( msg ) ;
23- } else if ( LogLevel . greaterThanEqual ( logLevel , LogLevel . Info ) ) {
24- sentryLogger . info ( msg ) ;
25- } else if ( LogLevel . greaterThanEqual ( logLevel , LogLevel . Debug ) ) {
26- sentryLogger . debug ( msg ) ;
27- } else {
28- sentryLogger . trace ( msg ) ;
18+ switch ( logLevel . _tag ) {
19+ case 'Fatal' :
20+ sentryLogger . fatal ( msg ) ;
21+ break ;
22+ case 'Error' :
23+ sentryLogger . error ( msg ) ;
24+ break ;
25+ case 'Warning' :
26+ sentryLogger . warn ( msg ) ;
27+ break ;
28+ case 'Info' :
29+ sentryLogger . info ( msg ) ;
30+ break ;
31+ case 'Debug' :
32+ sentryLogger . debug ( msg ) ;
33+ break ;
34+ case 'Trace' :
35+ sentryLogger . trace ( msg ) ;
36+ break ;
37+ case 'All' :
38+ case 'None' :
39+ break ;
40+ default :
41+ logLevel satisfies never ;
2942 }
3043} ) ;
0 commit comments