Skip to content

Commit 292d9e8

Browse files
authored
feat(core-kernel): allow enabling/disabling log methods
1 parent 1a4e132 commit 292d9e8

File tree

1 file changed

+22
-6
lines changed
  • packages/core-kernel/src/services/log/drivers

1 file changed

+22
-6
lines changed

packages/core-kernel/src/services/log/drivers/pino.ts

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,25 @@ export class PinoLogger implements Logger {
103103

104104
this.fileStream = this.getFileStream(options.fileRotator);
105105

106-
// @ts-ignore
107-
const consoleTransport = this.createPrettyTransport(options.levels.console, { colorize: true });
108-
// @ts-ignore
109-
const fileTransport = this.createPrettyTransport(options.levels.file, { colorize: false });
106+
if (this.isValidLevel(options.levels.console)) {
107+
pump(
108+
stream,
109+
split(),
110+
// @ts-ignore - Object literal may only specify known properties, and 'colorize' does not exist in type 'PrettyOptions'.
111+
this.createPrettyTransport(options.levels.console, { colorize: true }),
112+
process.stdout,
113+
);
114+
}
110115

111-
pump(stream, split(), consoleTransport, process.stdout);
112-
pump(stream, split(), fileTransport, this.fileStream);
116+
if (this.isValidLevel(options.levels.file)) {
117+
pump(
118+
stream,
119+
split(),
120+
// @ts-ignore - Object literal may only specify known properties, and 'colorize' does not exist in type 'PrettyOptions'.
121+
this.createPrettyTransport(options.levels.file, { colorize: false }),
122+
this.fileStream,
123+
);
124+
}
113125

114126
return this;
115127
}
@@ -282,4 +294,8 @@ export class PinoLogger implements Logger {
282294
},
283295
);
284296
}
297+
298+
private isValidLevel(level: string): boolean {
299+
return ["emergency", "alert", "critical", "error", "warning", "notice", "info", "debug"].includes(level);
300+
}
285301
}

0 commit comments

Comments
 (0)