Skip to content

Commit d85380f

Browse files
committed
apply requested changes
1 parent 6199f33 commit d85380f

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

src/filteredLogger.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,19 @@ import {Log, Logger, LogLevel} from './logger';
66
export class FilteredLogger<T extends Log = Log> implements Logger<T> {
77
private readonly logger: Logger<T>;
88

9-
private readonly level: LogLevel;
9+
private readonly levelIndex: number;
1010

11-
private static readonly logLevelMap: Record<LogLevel, number> = {
12-
[LogLevel.DEBUG]: 0,
13-
[LogLevel.INFO]: 1,
14-
[LogLevel.WARNING]: 2,
15-
[LogLevel.ERROR]: 3,
16-
};
11+
private static readonly logLevels: LogLevel[] = [LogLevel.DEBUG, LogLevel.INFO, LogLevel.WARNING, LogLevel.ERROR];
1712

1813
public constructor(logger: Logger<T>, level: LogLevel) {
1914
this.logger = logger;
20-
this.level = level;
15+
this.levelIndex = FilteredLogger.logLevels.indexOf(level);
2116
}
2217

2318
public log(log: T): void {
24-
if (FilteredLogger.logLevelMap[log.level] >= FilteredLogger.logLevelMap[this.level]) {
19+
const index = FilteredLogger.logLevels.indexOf(log.level);
20+
21+
if (index >= this.levelIndex) {
2522
this.logger.log(log);
2623
}
2724
}

0 commit comments

Comments
 (0)