Skip to content

Commit b00b99c

Browse files
committed
🔇 implemented noop transport for logger #2272
1 parent 63704ce commit b00b99c

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

src/utils/custom_transport.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,16 @@ export class LogToEvTransport extends TransportStream {
1717
if (callback) return callback(null, true);
1818
}
1919
}
20+
21+
export class NoOpTransport extends TransportStream {
22+
constructor(opts?: any) {
23+
super(opts);
24+
}
25+
26+
log(info, callback) {
27+
setImmediate(() => {
28+
this.emit('logged', info);
29+
});
30+
if (callback) return callback(null, true);
31+
}
32+
}

src/utils/logging.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import os from 'os';
22
import * as winston from 'winston';
33
import DailyRotateFile from 'winston-daily-rotate-file';
44
import { Syslog } from 'winston-syslog';
5-
import { LogToEvTransport } from './custom_transport';
5+
import { LogToEvTransport, NoOpTransport } from './custom_transport';
66
const { combine, timestamp } = winston.format;
77
import traverse from "traverse";
88
import { klona } from "klona/full";
@@ -55,6 +55,11 @@ function truncate(str: string, n: number) {
5555

5656
const formatRedact = winston.format(redact);
5757

58+
/**
59+
* To prevent "Attempt to write logs with no transports" error
60+
*/
61+
const placeholderTransport = new NoOpTransport()
62+
5863
const makeLogger = () =>
5964
winston.createLogger({
6065
format: combine(
@@ -65,10 +70,17 @@ const makeLogger = () =>
6570
winston.format.simple()
6671
),
6772
levels: winston.config.syslog.levels,
68-
});
73+
transports: [placeholderTransport]
74+
});
6975

76+
/**
77+
* You can access the log in your code and add your own custom transports
78+
*/
7079
export const log = makeLogger();
7180

81+
if(log.warning && !log.warn) log.warn = log.warning
82+
if(log.alert && !log.help) log.help = log.alert
83+
7284
export const addRotateFileLogTransport = (options: any = {}) => {
7385
log.add(
7486
new DailyRotateFile({

0 commit comments

Comments
 (0)