1
- import { Injectable , LoggerService , Scope } from '@nestjs/common' ;
1
+ import { Injectable , Scope } from '@nestjs/common' ;
2
2
import { createLogger , Logger , transports } from 'winston' ;
3
3
import { RequestContext } from '../request-context/request-context.dto' ;
4
4
5
5
@Injectable ( { scope : Scope . TRANSIENT } )
6
- export class AppLogger implements LoggerService {
6
+ export class AppLogger {
7
7
private context ?: string ;
8
8
private logger : Logger ;
9
9
@@ -17,53 +17,49 @@ export class AppLogger implements LoggerService {
17
17
} ) ;
18
18
}
19
19
20
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
21
- log ( message : any , context ?: string ) : Logger {
22
- return this . logger . info ( message , {
23
- context : context || this . context ,
24
- } ) ;
25
- }
26
-
27
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
28
- error ( message : any , trace ?: string , context ?: string ) : Logger {
29
- return this . logger . error ( message , {
30
- trace,
31
- context : context || this . context ,
32
- } ) ;
33
- }
20
+ error (
21
+ ctx : RequestContext ,
22
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
23
+ message : string ,
24
+ meta ?: Record < string , any > ,
25
+ ) : Logger {
26
+ const timestamp = new Date ( ) . toISOString ( ) ;
34
27
35
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
36
- warn ( message : any , context ?: string ) : Logger {
37
- return this . logger . warn ( message , {
38
- context : context || this . context ,
28
+ return this . logger . error ( {
29
+ message,
30
+ contextName : this . context ,
31
+ ctx,
32
+ timestamp,
33
+ ...meta ,
39
34
} ) ;
40
35
}
41
36
42
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
43
- debug ( message : any , context ?: string ) : Logger {
44
- return this . logger . debug ( message , {
45
- context : context || this . context ,
46
- } ) ;
47
- }
37
+ warn (
38
+ ctx : RequestContext ,
39
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
40
+ message : string ,
41
+ meta ?: Record < string , any > ,
42
+ ) : Logger {
43
+ const timestamp = new Date ( ) . toISOString ( ) ;
48
44
49
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
50
- verbose ( message : any , context ?: string ) : Logger {
51
- return this . logger . verbose ( message , {
52
- context : context || this . context ,
45
+ return this . logger . warn ( {
46
+ message,
47
+ contextName : this . context ,
48
+ ctx,
49
+ timestamp,
50
+ ...meta ,
53
51
} ) ;
54
52
}
55
53
56
- // TODO : This is a temporary function, it will be renamed to `log` once we update it across
57
- // all controllers, services, etc.
58
- logWithContext (
54
+ debug (
59
55
ctx : RequestContext ,
60
56
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
61
- message : any ,
57
+ message : string ,
62
58
meta ?: Record < string , any > ,
63
59
) : Logger {
64
60
const timestamp = new Date ( ) . toISOString ( ) ;
65
61
66
- return this . logger . info ( {
62
+ return this . logger . debug ( {
67
63
message,
68
64
contextName : this . context ,
69
65
ctx,
@@ -72,15 +68,16 @@ export class AppLogger implements LoggerService {
72
68
} ) ;
73
69
}
74
70
75
- warnWithContext (
71
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
72
+ verbose (
76
73
ctx : RequestContext ,
77
74
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
78
- message : any ,
75
+ message : string ,
79
76
meta ?: Record < string , any > ,
80
77
) : Logger {
81
78
const timestamp = new Date ( ) . toISOString ( ) ;
82
79
83
- return this . logger . warn ( {
80
+ return this . logger . verbose ( {
84
81
message,
85
82
contextName : this . context ,
86
83
ctx,
@@ -89,15 +86,15 @@ export class AppLogger implements LoggerService {
89
86
} ) ;
90
87
}
91
88
92
- errorWithContext (
89
+ log (
93
90
ctx : RequestContext ,
94
91
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
95
- message : any ,
92
+ message : string ,
96
93
meta ?: Record < string , any > ,
97
94
) : Logger {
98
95
const timestamp = new Date ( ) . toISOString ( ) ;
99
96
100
- return this . logger . error ( {
97
+ return this . logger . info ( {
101
98
message,
102
99
contextName : this . context ,
103
100
ctx,
0 commit comments