File tree Expand file tree Collapse file tree 2 files changed +49
-10
lines changed
src/Exceptionless.Web/ClientApp/src/lib/features/events Expand file tree Collapse file tree 2 files changed +49
-10
lines changed Original file line number Diff line number Diff line change 1
1
<script lang =" ts" >
2
- import type { LogLevel } from ' $features/events/models/event-data' ;
3
-
4
2
import { Badge } from ' $comp/ui/badge' ;
3
+ import { getLogLevel , type LogLevel } from ' $features/events/models/event-data' ;
5
4
6
5
interface Props {
7
6
level? : LogLevel ;
8
7
}
9
8
10
9
let { level }: Props = $props ();
11
10
12
- // TODO: Add more variants;
13
- let variant: ' default' | ' destructive' | ' outline' | ' secondary' = $state (' default' );
14
- if (level === ' trace' || level === ' debug' ) variant = ' secondary' ;
15
- else if (level === ' info' ) variant = ' default' ;
16
- else if (level === ' warn' ) variant = ' destructive' ;
17
- else if (level === ' error' ) variant = ' destructive' ;
11
+ function getLogLevelVariant(level : LogLevel | null ): ' default' | ' destructive' | ' outline' | ' secondary' {
12
+ if (level === ' trace' || level === ' debug' ) {
13
+ return ' secondary' ;
14
+ }
15
+
16
+ if (level === ' info' ) {
17
+ return ' default' ;
18
+ }
19
+
20
+ if (level === ' warn' || level === ' error' ) {
21
+ return ' destructive' ;
22
+ }
23
+
24
+ return ' default' ;
25
+ }
26
+
27
+ const normalizedLogLevel = $derived (getLogLevel (level ));
28
+ const variant = $derived (getLogLevelVariant (normalizedLogLevel ));
18
29
</script >
19
30
20
- {#if level }
31
+ {#if normalizedLogLevel }
21
32
<Badge {variant }>
22
- {level }
33
+ {normalizedLogLevel }
23
34
</Badge >
24
35
{/if }
Original file line number Diff line number Diff line change @@ -127,3 +127,31 @@ export interface UserInfo {
127
127
identity ?: string ;
128
128
name ?: string ;
129
129
}
130
+
131
+ // TODO: Move to a helper.
132
+ export function getLogLevel ( level ?: LogLevel ) : LogLevel | null {
133
+ switch ( level ?. toLowerCase ( ) . trim ( ) ) {
134
+ case '0' :
135
+ case 'false' :
136
+ case 'no' :
137
+ case 'off' :
138
+ return 'off' ;
139
+ case '1' :
140
+ case 'trace' :
141
+ case 'true' :
142
+ case 'yes' :
143
+ return 'trace' ;
144
+ case 'debug' :
145
+ return 'debug' ;
146
+ case 'error' :
147
+ return 'error' ;
148
+ case 'fatal' :
149
+ return 'fatal' ;
150
+ case 'info' :
151
+ return 'info' ;
152
+ case 'warn' :
153
+ return 'warn' ;
154
+ default :
155
+ return null ;
156
+ }
157
+ }
You can’t perform that action at this time.
0 commit comments