Skip to content

Commit 4bb4ad5

Browse files
committed
fix: nest logger wrapper with custom log levels
1 parent cbbb607 commit 4bb4ad5

1 file changed

Lines changed: 63 additions & 6 deletions

File tree

packages/nestjs/src/nestjs.logger.ts

Lines changed: 63 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,76 @@ import { Logger } from '@optask/tasker';
44
/**
55
* Simple wrapper around the nestjs default logger, implementing the logger interface
66
*/
7-
export class NestLogger extends NativeNestLogger implements Logger {
7+
export class NestLogger implements Logger {
8+
logLevel = 3;
9+
10+
private logger: NativeNestLogger;
11+
12+
constructor(
13+
name?: string,
14+
options?: {
15+
timestamp?: boolean;
16+
},
17+
) {
18+
if (name) {
19+
this.logger = new NativeNestLogger(name, options);
20+
} else {
21+
this.logger = new NativeNestLogger();
22+
}
23+
24+
const envVar = process.env[`TASKER_LOG_LEVEL`];
25+
const parsed = parseInt(envVar, 10);
26+
if (parsed >= 0) {
27+
this.logLevel = Math.min(parsed, 5);
28+
}
29+
}
30+
31+
fatal(...args: any[]) {
32+
if (this.logLevel >= 0) {
33+
this.logger.fatal(args);
34+
}
35+
}
36+
37+
error(...args: any[]) {
38+
if (this.logLevel >= 1) {
39+
this.logger.error(args);
40+
}
41+
}
42+
43+
warn(...args: any[]) {
44+
if (this.logLevel >= 2) {
45+
this.logger.warn(args);
46+
}
47+
}
48+
49+
log(...args: any[]) {
50+
if (this.logLevel >= 3) {
51+
this.logger.log(args);
52+
}
53+
}
54+
855
info(...args: any[]) {
9-
// Just map calls to info -> log
10-
this.log(args);
56+
if (this.logLevel >= 3) {
57+
this.logger.log(args);
58+
}
59+
}
60+
61+
debug(...args: any[]) {
62+
if (this.logLevel >= 4) {
63+
this.logger.debug(args);
64+
}
1165
}
1266

1367
trace(...args: any[]) {
14-
// Just map calls to trace -> verbose
15-
this.verbose(args);
68+
if (this.logLevel >= 5) {
69+
this.logger.verbose(args);
70+
}
1671
}
1772

1873
// Construct new logger with a different name
1974
child(name?: string) {
20-
return new NestLogger(name);
75+
const newLogger = new NestLogger(name);
76+
newLogger.logLevel = this.logLevel;
77+
return newLogger;
2178
}
2279
}

0 commit comments

Comments
 (0)