1
1
import { anonymizeKey } from './anonymize-key' ;
2
+ import { context , trace } from '@opentelemetry/api' ;
3
+
4
+ function addMessageToTraceSpan (
5
+ method : 'log' | 'error' | 'warn' ,
6
+ message : string ,
7
+ args ?: unknown [ ] ,
8
+ ) {
9
+ const span = trace . getSpan ( context . active ( ) ) ;
10
+ if ( span ) {
11
+ span . addEvent ( method , { message, args : args ? args . join ( ',' ) : '' } ) ;
12
+ }
13
+ }
2
14
3
15
/**
4
16
* Logging function equivalent to console.log
@@ -13,6 +25,8 @@ export const infoLogger = (
13
25
apiKey ?: string ,
14
26
...args : unknown [ ]
15
27
) : void => {
28
+ addMessageToTraceSpan ( 'log' , message , args ) ;
29
+
16
30
logger ( console . info , source , message , apiKey , ...args ) ;
17
31
} ;
18
32
@@ -29,6 +43,8 @@ export const errorLogger = (
29
43
apiKey ?: string ,
30
44
...args : unknown [ ]
31
45
) : void => {
46
+ addMessageToTraceSpan ( 'error' , message , args ) ;
47
+
32
48
logger ( console . error , source , message , apiKey , ...args ) ;
33
49
} ;
34
50
@@ -45,6 +61,8 @@ export const warnLogger = (
45
61
apiKey ?: string ,
46
62
...args : unknown [ ]
47
63
) : void => {
64
+ addMessageToTraceSpan ( 'warn' , message , args ) ;
65
+
48
66
logger ( console . warn , source , message , apiKey , ...args ) ;
49
67
} ;
50
68
0 commit comments