@@ -23,20 +23,20 @@ export enum LogLevel {
23
23
export interface LogOptions {
24
24
logEnabled : boolean ;
25
25
logLevel ?: LogLevel ;
26
- logHttpInfo ?: boolean ;
26
+ logRequestAndResponseInfo ?: boolean ;
27
27
logger ?: BaseLogger ;
28
28
}
29
29
30
30
export default class Logger implements BaseLogger {
31
31
private logEnabled : boolean ;
32
32
private logLevel : LogLevel ;
33
33
private logger : BaseLogger ;
34
- public logHttpInfo : boolean ;
34
+ public logRequestAndResponseInfo : boolean ;
35
35
36
- constructor ( { logEnabled, logLevel, logHttpInfo , logger } : LogOptions ) {
36
+ constructor ( { logEnabled, logLevel, logRequestAndResponseInfo , logger } : LogOptions ) {
37
37
this . logEnabled = logEnabled ;
38
38
this . logLevel = logLevel ;
39
- this . logHttpInfo = logHttpInfo ;
39
+ this . logRequestAndResponseInfo = logRequestAndResponseInfo ;
40
40
if ( logger ) {
41
41
if ( this . isValidCustomLogger ( logger ) ) {
42
42
this . logger = logger ;
@@ -47,28 +47,24 @@ export default class Logger implements BaseLogger {
47
47
}
48
48
49
49
public debug ( message : string ) : void {
50
- message = this . prefixLog ( LogLevel . Debug , message ) ;
51
50
if ( this . logLevel >= LogLevel . Debug && this . logEnabled ) {
52
51
this . logger ? this . logger . debug ( message ) : console . debug ( message ) ;
53
52
}
54
53
}
55
54
56
55
public info ( message : string ) : void {
57
- message = this . prefixLog ( LogLevel . Info , message ) ;
58
56
if ( this . logLevel >= LogLevel . Info && this . logEnabled ) {
59
57
this . logger ? this . logger . info ( message ) : console . info ( message ) ;
60
58
}
61
59
}
62
60
63
61
public warn ( message : string ) : void {
64
- message = this . prefixLog ( LogLevel . Warn , message ) ;
65
62
if ( this . logLevel >= LogLevel . Warn && this . logEnabled ) {
66
63
this . logger ? this . logger . warn ( message ) : console . warn ( message ) ;
67
64
}
68
65
}
69
66
70
67
public error ( message : string ) : void {
71
- message = this . prefixLog ( LogLevel . Error , message ) ;
72
68
if ( this . logLevel >= LogLevel . Error && this . logEnabled ) {
73
69
this . logger ? this . logger . error ( message ) : console . error ( message ) ;
74
70
}
@@ -101,95 +97,4 @@ export default class Logger implements BaseLogger {
101
97
typeof logger . log === "function"
102
98
) ;
103
99
}
104
-
105
- private prefixLog ( logLevel : LogLevel , message : string ) : string {
106
- const currentDateTime = new Date ( ) ;
107
- // If message is already prefixed, return message as is.
108
- if ( message . indexOf ( '[Avatax]' ) >= 0 ) {
109
- return message ;
110
- }
111
- switch ( logLevel ) {
112
- case LogLevel . Debug :
113
- return `[Avatax] | ${ currentDateTime } | DEBUG | ${ message } ` ;
114
- case LogLevel . Info :
115
- return `[Avatax] | ${ currentDateTime } | INFO | ${ message } ` ;
116
- case LogLevel . Warn :
117
- return `[Avatax] | ${ currentDateTime } | WARN | ${ message } ` ;
118
- case LogLevel . Error :
119
- return `[Avatax] | ${ currentDateTime } | ERROR | ${ message } ` ;
120
- }
121
- }
122
-
123
- }
124
-
125
- export class RequestLogger implements BaseLogger {
126
- private requestId : string ;
127
- private logger : Logger ;
128
- constructor ( logger : Logger , headers : NodeJS . Dict < string > ) {
129
- if ( headers [ 'x-correlation-id' ] ) {
130
- this . requestId = headers [ 'x-correlation-id' ] ;
131
- } else {
132
- this . requestId = headers [ 'x-correlation-id' ] = randomUUID ( ) ;
133
- }
134
- this . logger = logger ;
135
- }
136
-
137
- public debug ( message : string ) : void {
138
- if ( this . logger . logHttpInfo ) {
139
- message = this . prefixLog ( LogLevel . Debug , message ) ;
140
- this . logger . debug ( message ) ;
141
- }
142
- }
143
-
144
- public info ( message : string ) : void {
145
- if ( this . logger . logHttpInfo ) {
146
- message = this . prefixLog ( LogLevel . Info , message ) ;
147
- this . logger . info ( message ) ;
148
- }
149
- }
150
-
151
- public warn ( message : string ) : void {
152
- if ( this . logger . logHttpInfo ) {
153
- message = this . prefixLog ( LogLevel . Warn , message ) ;
154
- this . logger . warn ( message ) ;
155
- }
156
- }
157
-
158
- public error ( message : string ) : void {
159
- if ( this . logger . logHttpInfo ) {
160
- message = this . prefixLog ( LogLevel . Error , message ) ;
161
- this . logger . error ( message ) ;
162
- }
163
- }
164
-
165
- public log ( logLevel : LogLevel , message : string ) {
166
- switch ( logLevel ) {
167
- case LogLevel . Debug :
168
- this . debug ( message ) ;
169
- break ;
170
- case LogLevel . Info :
171
- this . info ( message ) ;
172
- break ;
173
- case LogLevel . Warn :
174
- this . warn ( message ) ;
175
- break ;
176
- case LogLevel . Error :
177
- this . error ( message ) ;
178
- break ;
179
- }
180
- }
181
-
182
- private prefixLog ( logLevel : LogLevel , message : string ) : string {
183
- const currentDateTime = new Date ( ) ;
184
- switch ( logLevel ) {
185
- case LogLevel . Debug :
186
- return `[Avatax] | [request-id: ${ this . requestId } ] | ${ currentDateTime } | DEBUG | ${ message } ` ;
187
- case LogLevel . Info :
188
- return `[Avatax] | [request-id: ${ this . requestId } ] | ${ currentDateTime } | INFO | ${ message } ` ;
189
- case LogLevel . Warn :
190
- return `[Avatax] | [request-id: ${ this . requestId } ] | ${ currentDateTime } | WARN | ${ message } ` ;
191
- case LogLevel . Error :
192
- return `[Avatax] | [request-id: ${ this . requestId } ] | ${ currentDateTime } | ERROR | ${ message } ` ;
193
- }
194
- }
195
100
}
0 commit comments