8
8
*
9
9
* @author Mike Coakley https://github.com/mcoakley
10
10
*/
11
- import { isFunction , isObject } from " af-conditionals" ;
11
+ import { isFunction , isObject } from ' af-conditionals' ;
12
12
13
- import { defaultTimers , TaskTimerManager } from "./task-timers" ;
14
-
15
- // tslint:disable:no-console
13
+ import { defaultTimers , TaskTimerManager } from './task-timers' ;
16
14
17
15
/*
18
16
* TODO: Look into ability to use the console grouping mechanisms to
@@ -102,7 +100,7 @@ export class BaseLogger {
102
100
* @readonly
103
101
* @memberof BaseLogger
104
102
*/
105
- public get filteredMessages ( ) {
103
+ public get filteredMessages ( ) : number {
106
104
return this . _filteredMessages ;
107
105
}
108
106
@@ -111,19 +109,19 @@ export class BaseLogger {
111
109
*
112
110
* @memberof BaseLogger
113
111
*/
114
- public get severityLevel ( ) {
112
+ public get severityLevel ( ) : LogSeverity {
115
113
return this . _logSeverity ;
116
114
}
117
115
118
- public set severityLevel ( newSeverityLevel ) {
116
+ public set severityLevel ( newSeverityLevel : LogSeverity ) {
119
117
this . _logSeverity = newSeverityLevel ;
120
118
}
121
119
122
- public get messagesLogged ( ) {
120
+ public get messagesLogged ( ) : number {
123
121
return this . _messagesLogged ;
124
122
}
125
123
126
- public get muteLogger ( ) {
124
+ public get muteLogger ( ) : boolean {
127
125
return this . _muteLogger ;
128
126
}
129
127
@@ -138,7 +136,7 @@ export class BaseLogger {
138
136
this . _muteLogger = false ;
139
137
}
140
138
141
- protected shouldFilterMessage ( severity : LogSeverity ) {
139
+ protected shouldFilterMessage ( severity : LogSeverity ) : boolean {
142
140
if ( this . muteLogger || severity > this . severityLevel ) {
143
141
this . _filteredMessages ++ ;
144
142
return true ;
@@ -149,7 +147,7 @@ export class BaseLogger {
149
147
}
150
148
151
149
function _callLogMethod (
152
- logInstance : any ,
150
+ logInstance : any , // eslint-disable-line @typescript-eslint/no-explicit-any
153
151
method : string ,
154
152
message : string ,
155
153
...params : any [ ]
@@ -160,7 +158,7 @@ function _callLogMethod(
160
158
// here to ensure we do not pass an empty Array to console. Since we are
161
159
// nesting this call we must dereference the params Array to get to the
162
160
// actual parameters.
163
- const origParams : any [ ] = params [ 0 ] ;
161
+ const origParams : any [ ] = params [ 0 ] ; // eslint-disable-line @typescript-eslint/no-explicit-any
164
162
165
163
if ( origParams . length > 0 ) {
166
164
logInstance [ method ] ( message , origParams ) ;
@@ -172,49 +170,49 @@ function _callLogMethod(
172
170
class BrowserLogger extends BaseLogger implements LogDriver {
173
171
public alert ( message : string , ...params : any [ ] ) : void {
174
172
if ( ! this . shouldFilterMessage ( LogSeverity . Alert ) ) {
175
- _callLogMethod ( console , " log" , message , params ) ;
173
+ _callLogMethod ( console , ' log' , message , params ) ;
176
174
}
177
175
}
178
176
179
177
public critical ( message : string , ...params : any [ ] ) : void {
180
178
if ( ! this . shouldFilterMessage ( LogSeverity . Critical ) ) {
181
- _callLogMethod ( console , " log" , message , params ) ;
179
+ _callLogMethod ( console , ' log' , message , params ) ;
182
180
}
183
181
}
184
182
185
183
public debug ( message : string , ...params : any [ ] ) : void {
186
184
if ( ! this . shouldFilterMessage ( LogSeverity . Debug ) ) {
187
- _callLogMethod ( console , " log" , message , params ) ;
185
+ _callLogMethod ( console , ' log' , message , params ) ;
188
186
}
189
187
}
190
188
191
189
public emergency ( message : string , ...params : any [ ] ) : void {
192
190
if ( ! this . shouldFilterMessage ( LogSeverity . Emergency ) ) {
193
- _callLogMethod ( console , " log" , message , params ) ;
191
+ _callLogMethod ( console , ' log' , message , params ) ;
194
192
}
195
193
}
196
194
197
195
public error ( message : string , ...params : any [ ] ) : void {
198
196
if ( ! this . shouldFilterMessage ( LogSeverity . Error ) ) {
199
- _callLogMethod ( console , " error" , message , params ) ;
197
+ _callLogMethod ( console , ' error' , message , params ) ;
200
198
}
201
199
}
202
200
203
201
public info ( message : string , ...params : any [ ] ) : void {
204
202
if ( ! this . shouldFilterMessage ( LogSeverity . Informational ) ) {
205
- _callLogMethod ( console , " info" , message , params ) ;
203
+ _callLogMethod ( console , ' info' , message , params ) ;
206
204
}
207
205
}
208
206
209
207
public log ( message : string , ...params : any [ ] ) : void {
210
208
if ( ! this . shouldFilterMessage ( LogSeverity . Informational ) ) {
211
- _callLogMethod ( console , " log" , message , params ) ;
209
+ _callLogMethod ( console , ' log' , message , params ) ;
212
210
}
213
211
}
214
212
215
213
public notice ( message : string , ...params : any [ ] ) : void {
216
214
if ( ! this . shouldFilterMessage ( LogSeverity . Notice ) ) {
217
- _callLogMethod ( console , " log" , message , params ) ;
215
+ _callLogMethod ( console , ' log' , message , params ) ;
218
216
}
219
217
}
220
218
@@ -235,9 +233,9 @@ class BrowserLogger extends BaseLogger implements LogDriver {
235
233
public warn ( message : string , ...params : any [ ] ) : void {
236
234
if ( ! this . shouldFilterMessage ( LogSeverity . Warning ) ) {
237
235
if ( isFunction ( console . warn ) ) {
238
- _callLogMethod ( console , " warn" , message , params ) ;
236
+ _callLogMethod ( console , ' warn' , message , params ) ;
239
237
} else {
240
- _callLogMethod ( console , " log" , message , params ) ;
238
+ _callLogMethod ( console , ' log' , message , params ) ;
241
239
}
242
240
}
243
241
}
@@ -246,49 +244,49 @@ class BrowserLogger extends BaseLogger implements LogDriver {
246
244
class NodeLogger extends BaseLogger implements LogDriver {
247
245
public alert ( message : string , ...params : any [ ] ) : void {
248
246
if ( ! this . shouldFilterMessage ( LogSeverity . Alert ) ) {
249
- _callLogMethod ( console , " log" , message , params ) ;
247
+ _callLogMethod ( console , ' log' , message , params ) ;
250
248
}
251
249
}
252
250
253
251
public critical ( message : string , ...params : any [ ] ) : void {
254
252
if ( ! this . shouldFilterMessage ( LogSeverity . Critical ) ) {
255
- _callLogMethod ( console , " log" , message , params ) ;
253
+ _callLogMethod ( console , ' log' , message , params ) ;
256
254
}
257
255
}
258
256
259
257
public debug ( message : string , ...params : any [ ] ) : void {
260
258
if ( ! this . shouldFilterMessage ( LogSeverity . Debug ) ) {
261
- _callLogMethod ( console , " debug" , message , params ) ;
259
+ _callLogMethod ( console , ' debug' , message , params ) ;
262
260
}
263
261
}
264
262
265
263
public emergency ( message : string , ...params : any [ ] ) : void {
266
264
if ( ! this . shouldFilterMessage ( LogSeverity . Emergency ) ) {
267
- _callLogMethod ( console , " log" , message , params ) ;
265
+ _callLogMethod ( console , ' log' , message , params ) ;
268
266
}
269
267
}
270
268
271
269
public error ( message : string , ...params : any [ ] ) : void {
272
270
if ( ! this . shouldFilterMessage ( LogSeverity . Error ) ) {
273
- _callLogMethod ( console , " error" , message , params ) ;
271
+ _callLogMethod ( console , ' error' , message , params ) ;
274
272
}
275
273
}
276
274
277
275
public info ( message : string , ...params : any [ ] ) : void {
278
276
if ( ! this . shouldFilterMessage ( LogSeverity . Informational ) ) {
279
- _callLogMethod ( console , " info" , message , params ) ;
277
+ _callLogMethod ( console , ' info' , message , params ) ;
280
278
}
281
279
}
282
280
283
281
public log ( message : string , ...params : any [ ] ) : void {
284
282
if ( ! this . shouldFilterMessage ( LogSeverity . Informational ) ) {
285
- _callLogMethod ( console , " log" , message , params ) ;
283
+ _callLogMethod ( console , ' log' , message , params ) ;
286
284
}
287
285
}
288
286
289
287
public notice ( message : string , ...params : any [ ] ) : void {
290
288
if ( ! this . shouldFilterMessage ( LogSeverity . Notice ) ) {
291
- _callLogMethod ( console , " log" , message , params ) ;
289
+ _callLogMethod ( console , ' log' , message , params ) ;
292
290
}
293
291
}
294
292
@@ -304,11 +302,16 @@ class NodeLogger extends BaseLogger implements LogDriver {
304
302
305
303
public warn ( message : string , ...params : any [ ] ) : void {
306
304
if ( ! this . shouldFilterMessage ( LogSeverity . Warning ) ) {
307
- _callLogMethod ( console , " warn" , message , params ) ;
305
+ _callLogMethod ( console , ' warn' , message , params ) ;
308
306
}
309
307
}
310
308
}
311
309
310
+ // If the following class the logger property will always be set to a
311
+ // known value through setLogger which is called in the constructor. This means
312
+ // we can reliably ignore the ESlint warning about non-null assertions.
313
+
314
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
312
315
export class Logger implements LogDriver {
313
316
protected logger : LogDriver | undefined = undefined ;
314
317
protected timerMgr : TaskTimerManager ;
@@ -357,54 +360,55 @@ export class Logger implements LogDriver {
357
360
}
358
361
359
362
public alert ( message : string , ...params : any [ ] ) : void {
360
- _callLogMethod ( this . logger ! , " alert" , message , params ) ;
363
+ _callLogMethod ( this . logger ! , ' alert' , message , params ) ;
361
364
}
362
365
363
366
public critical ( message : string , ...params : any [ ] ) : void {
364
- _callLogMethod ( this . logger ! , " critical" , message , params ) ;
367
+ _callLogMethod ( this . logger ! , ' critical' , message , params ) ;
365
368
}
366
369
367
370
public debug ( message : string , ...params : any [ ] ) : void {
368
- _callLogMethod ( this . logger ! , " debug" , message , params ) ;
371
+ _callLogMethod ( this . logger ! , ' debug' , message , params ) ;
369
372
}
370
373
371
374
public emergency ( message : string , ...params : any [ ] ) : void {
372
- _callLogMethod ( this . logger ! , " emergency" , message , params ) ;
375
+ _callLogMethod ( this . logger ! , ' emergency' , message , params ) ;
373
376
}
374
377
375
378
public error ( message : string , ...params : any [ ] ) : void {
376
- _callLogMethod ( this . logger ! , " error" , message , params ) ;
379
+ _callLogMethod ( this . logger ! , ' error' , message , params ) ;
377
380
}
378
381
379
382
public info ( message : string , ...params : any [ ] ) : void {
380
- _callLogMethod ( this . logger ! , " info" , message , params ) ;
383
+ _callLogMethod ( this . logger ! , ' info' , message , params ) ;
381
384
}
382
385
383
386
public log ( message : string , ...params : any [ ] ) : void {
384
- _callLogMethod ( this . logger ! , " log" , message , params ) ;
387
+ _callLogMethod ( this . logger ! , ' log' , message , params ) ;
385
388
}
386
389
387
390
public notice ( message : string , ...params : any [ ] ) : void {
388
- _callLogMethod ( this . logger ! , " notice" , message , params ) ;
391
+ _callLogMethod ( this . logger ! , ' notice' , message , params ) ;
389
392
}
390
393
391
- public reset ( ) {
394
+ public reset ( ) : void {
392
395
this . logger ! . reset ( ) ;
393
396
}
394
397
395
- public time ( label = " default" ) : string {
398
+ public time ( label = ' default' ) : string {
396
399
const description = this . timerMgr . startTimer ( label ) ;
397
400
return this . logger ! . time ( description ) ;
398
401
}
399
402
400
- public timeEnd ( label = " default" ) : number {
403
+ public timeEnd ( label = ' default' ) : number {
401
404
this . logger ! . timeEnd ( label ) ;
402
405
return this . timerMgr . stopTimer ( label ) ;
403
406
}
404
407
405
408
public warn ( message : string , ...params : any [ ] ) : void {
406
- _callLogMethod ( this . logger ! , " warn" , message , params ) ;
409
+ _callLogMethod ( this . logger ! , ' warn' , message , params ) ;
407
410
}
408
411
}
412
+ /* eslint-enable @typescript-eslint/no-non-null-assertion */
409
413
410
- export let logger = new Logger ( ) ;
414
+ export let logger = new Logger ( ) ; // eslint-disable-line prefer-const
0 commit comments