File tree Expand file tree Collapse file tree 3 files changed +10
-5
lines changed Expand file tree Collapse file tree 3 files changed +10
-5
lines changed Original file line number Diff line number Diff line change 50
50
},
51
51
"dependencies" : {
52
52
"@graphql-mesh/types" : " ^0.103.6" ,
53
+ "@whatwg-node/disposablestack" : " ^0.0.5" ,
53
54
"tslib" : " ^2.8.1"
54
55
},
55
56
"devDependencies" : {
Original file line number Diff line number Diff line change
1
+ import { DisposableSymbols } from '@whatwg-node/disposablestack' ;
1
2
import type {
2
3
LazyLoggerMessage ,
3
4
Logger as MeshLogger ,
@@ -24,7 +25,7 @@ function prepareArgs(lazyArgs: LazyLoggerMessage[]) {
24
25
return flattenedArgs ;
25
26
}
26
27
27
- class LoggerAdapter implements MeshLogger {
28
+ class WinstonLoggerAdapter implements MeshLogger , Disposable {
28
29
constructor (
29
30
private winstonLogger : WinstonLogger ,
30
31
public names : string [ ] = [ ] ,
@@ -60,12 +61,15 @@ class LoggerAdapter implements MeshLogger {
60
61
child ( name : string ) {
61
62
const newName = [ ...new Set ( [ ...this . names , name ] ) ] ;
62
63
const childWinston = this . winstonLogger . child ( { name : newName } ) ;
63
- return new LoggerAdapter ( childWinston , newName ) ;
64
+ return new WinstonLoggerAdapter ( childWinston , newName ) ;
65
+ }
66
+ [ DisposableSymbols . dispose ] ( ) {
67
+ return this . winstonLogger . close ( ) ;
64
68
}
65
69
}
66
70
67
71
export function createLoggerFromWinston (
68
72
winstonLogger : WinstonLogger ,
69
- ) : MeshLogger {
70
- return new LoggerAdapter ( winstonLogger ) ;
73
+ ) : WinstonLoggerAdapter {
74
+ return new WinstonLoggerAdapter ( winstonLogger ) ;
71
75
}
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ describe('Winston', () => {
25
25
} ) ,
26
26
] ,
27
27
} ) ;
28
- const loggerAdapter = createLoggerFromWinston ( logger ) ;
28
+ using loggerAdapter = createLoggerFromWinston ( logger ) ;
29
29
const testData = [
30
30
'Hello' ,
31
31
[ 'World' ] ,
You can’t perform that action at this time.
0 commit comments