Skip to content

Commit

Permalink
apply requested changes
Browse files Browse the repository at this point in the history
  • Loading branch information
renan628 committed Nov 4, 2024
1 parent 6199f33 commit d85380f
Showing 1 changed file with 6 additions and 9 deletions.
15 changes: 6 additions & 9 deletions src/filteredLogger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,19 @@ import {Log, Logger, LogLevel} from './logger';
export class FilteredLogger<T extends Log = Log> implements Logger<T> {
private readonly logger: Logger<T>;

private readonly level: LogLevel;
private readonly levelIndex: number;

private static readonly logLevelMap: Record<LogLevel, number> = {
[LogLevel.DEBUG]: 0,
[LogLevel.INFO]: 1,
[LogLevel.WARNING]: 2,
[LogLevel.ERROR]: 3,
};
private static readonly logLevels: LogLevel[] = [LogLevel.DEBUG, LogLevel.INFO, LogLevel.WARNING, LogLevel.ERROR];

public constructor(logger: Logger<T>, level: LogLevel) {
this.logger = logger;
this.level = level;
this.levelIndex = FilteredLogger.logLevels.indexOf(level);
}

public log(log: T): void {
if (FilteredLogger.logLevelMap[log.level] >= FilteredLogger.logLevelMap[this.level]) {
const index = FilteredLogger.logLevels.indexOf(log.level);

if (index >= this.levelIndex) {
this.logger.log(log);
}
}
Expand Down

0 comments on commit d85380f

Please sign in to comment.