@@ -21,6 +21,7 @@ class PoolWorker {
21
21
this . activeJobs = 0 ;
22
22
this . onJobDone = onJobDone ;
23
23
this . id = workerId ;
24
+ this . logger = Object . create ( null ) ;
24
25
25
26
workerId += 1 ;
26
27
// Empty or invalid node args would break the child process
@@ -271,6 +272,63 @@ class PoolWorker {
271
272
finalCallback ( ) ;
272
273
break ;
273
274
}
275
+ case 'getLogger' : {
276
+ const { data : name } = message ;
277
+ const { data : jobData } = this . jobs [ id ] ;
278
+ if ( ! this . logger [ name ] ) {
279
+ this . logger [ name ] = jobData . getLogger ( name ) ;
280
+ }
281
+ finalCallback ( ) ;
282
+ break ;
283
+ }
284
+ case 'emitLoggingWarning' : {
285
+ const {
286
+ data : { message : warningMessage , name } ,
287
+ } = message ;
288
+ const { data : jobData } = this . jobs [ id ] ;
289
+ if ( ! this . logger [ name ] ) {
290
+ this . logger [ name ] = jobData . getLogger ( name ) ;
291
+ }
292
+ this . logger [ name ] . warn ( warningMessage ) ;
293
+ finalCallback ( ) ;
294
+ break ;
295
+ }
296
+ case 'emitLoggingError' : {
297
+ const {
298
+ data : { message : errorMessage , name } ,
299
+ } = message ;
300
+ const { data : jobData } = this . jobs [ id ] ;
301
+ if ( ! this . logger [ name ] ) {
302
+ this . logger [ name ] = jobData . getLogger ( name ) ;
303
+ }
304
+ this . logger [ name ] . error ( errorMessage ) ;
305
+ finalCallback ( ) ;
306
+ break ;
307
+ }
308
+ case 'emitLoggingLog' : {
309
+ const {
310
+ data : { message : logMessage , name } ,
311
+ } = message ;
312
+ const { data : jobData } = this . jobs [ id ] ;
313
+ if ( ! this . logger [ name ] ) {
314
+ this . logger [ name ] = jobData . getLogger ( name ) ;
315
+ }
316
+ this . logger [ name ] . info ( logMessage ) ;
317
+ finalCallback ( ) ;
318
+ break ;
319
+ }
320
+ case 'emitLoggingDebug' : {
321
+ const {
322
+ data : { message : debugMessage , name } ,
323
+ } = message ;
324
+ const { data : jobData } = this . jobs [ id ] ;
325
+ if ( ! this . logger [ name ] ) {
326
+ this . logger [ name ] = jobData . getLogger ( name ) ;
327
+ }
328
+ this . logger [ name ] . debug ( debugMessage ) ;
329
+ finalCallback ( ) ;
330
+ break ;
331
+ }
274
332
case 'emitWarning' : {
275
333
const { data } = message ;
276
334
const { data : jobData } = this . jobs [ id ] ;
0 commit comments