UNPKG

koatty_logger

Version:
617 lines (535 loc) 45.5 kB
> koatty_logger@2.3.1 test /Users/richen/Workspace/nodejs/koatty-monorepo/packages/koatty-logger > npm run eslint && jest --passWithNoTests > koatty_logger@2.3.1 eslint > eslint --ext .ts,.js ./ console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["ERROR","test error"],"level":"error"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as error] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","string"],"level":"info"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO",123],"level":"info"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO",true],"level":"info"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO",null],"level":"info"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO",null],"level":"info"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO",{"object":"value"}],"level":"info"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO",["array","items"]],"level":"info"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO",{}],"level":"info"} 578 | setImmediate(() => { 579 | try { > 580 | this.logger[level](sanitizedArgs); | ^ 581 | resolve(); 582 | } catch (error) { 583 | reject(error); at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Immediate._onImmediate (src/logger.ts:580:33) [2026-01-28 11:45:06.232 +08:00] INFO buffered log 1 [2026-01-28 11:45:06.232 +08:00] INFO buffered log 2 [2026-01-28 11:45:06.246 +08:00] INFO log1 [2026-01-28 11:45:06.246 +08:00] INFO log2 [2026-01-28 11:45:06.246 +08:00] INFO log3 [2026-01-28 11:45:06.464 +08:00] INFO timer test 1 [2026-01-28 11:45:06.465 +08:00] INFO timer test 2 console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 0",{"index":0,"data":"data0"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 1",{"index":1,"data":"data1"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 2",{"index":2,"data":"data2"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 3",{"index":3,"data":"data3"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 4",{"index":4,"data":"data4"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 5",{"index":5,"data":"data5"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 6",{"index":6,"data":"data6"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 7",{"index":7,"data":"data7"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 8",{"index":8,"data":"data8"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 9",{"index":9,"data":"data9"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 10",{"index":10,"data":"data10"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 11",{"index":11,"data":"data11"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 12",{"index":12,"data":"data12"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 13",{"index":13,"data":"data13"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 14",{"index":14,"data":"data14"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) console.error [winston] Attempt to write logs with no transports, which can increase memory usage: {"message":["INFO","High frequency log 15",{"index":15,"data":"data15"}],"level":"info"} 384 | 385 | // 批量写入时直接调用winston(在批量刷新时已经是异步的) > 386 | this.logger[level](sanitizedArgs); | ^ 387 | } catch (e) { 388 | console.error('Error writing log entry:', e); 389 | } at DerivedLogger._transform (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/logger.js:326:15) at DerivedLogger.Object.<anonymous>.Transform._read (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:166:10) at DerivedLogger.Object.<anonymous>.Transform._write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js:155:83) at doWrite (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:390:139) at writeOrBuffer (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:381:5) at DerivedLogger.Object.<anonymous>.Writable.write (../../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js:302:11) at DerivedLogger.<computed> [as info] (../../node_modules/.pnpm/winston@3.19.0/node_modules/winston/lib/winston/create-logger.js:81:14) at Logger.writeLogEntry (src/logger.ts:386:25) at writeLogEntry (src/logger.ts:301:18) at Array.forEach (<anonymous>) at Immediate.forEach [as _onImmediate] (src/logger.ts:300:23) [2026-01-28 11:45:06.588 +08:00] INFO first [2026-01-28 11:45:06.588 +08:00] INFO second [2026-01-28 11:45:06.588 +08:00] INFO third PASS test/logger.test.ts Logger Security Tests should fix error method bug (10 ms) should prevent path traversal attacks (37 ms) should prevent log injection attacks (1 ms) should filter dangerous characters in paths (1 ms) should allow safe paths (25 ms) Logger Performance Tests should manage sensitive fields memory efficiently should handle deep objects with recursion limit (1 ms) should efficiently handle arrays (7 ms) Logger Functionality Tests should create logger instance (1 ms) should manage log levels (1 ms) should handle sensitive field masking should handle various data types (1 ms) ShieldField Tests should mask different length strings correctly should handle empty and special strings Logger Batch Writing Tests should create logger with batch config (1 ms) should buffer logs when batch enabled should flush buffer manually (104 ms) should auto flush when buffer size exceeded (16 ms) should flush on timer interval (253 ms) should handle batch config updates (1 ms) should handle destroy with buffered logs (15 ms) should handle high-frequency logging efficiently (1 ms) should maintain log order in batch mode (59 ms) 📦 report is created on: /Users/richen/Workspace/nodejs/koatty-monorepo/packages/koatty-logger/jest_html_reporters.html Test Suites: 1 passed, 1 total Tests: 23 passed, 23 total -----------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s Snapshots: 0 total Time: 3.319 s, estimated 4 s -----------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------- All files | 81.4 | 75.78 | 74.07 | 81.09 | logger.ts | 78.97 | 75.32 | 72.54 | 78.75 | 95,99,124,143-151,207,222,238,256-259,305-306,317,330,351,366,388,408,439,456,473,490,514-531,557,583-593,621-622 Ran all test suites. shield.ts | 91.48 | 77.77 | 100 | 91.11 | 43-44,48,87 -----------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------- =============================== Coverage summary =============================== Statements : 81.4% ( 197/242 ) Branches : 75.78% ( 72/95 ) Functions : 74.07% ( 40/54 ) Lines : 81.09% ( 193/238 ) ================================================================================