@croct/logging
Version:
An interoperability layer for logging libraries.
22 lines (21 loc) • 707 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FilteredLogger = void 0;
const logger_1 = require("./logger");
/**
* A logger that filters specified log levels.
*/
class FilteredLogger {
constructor(logger, level) {
this.logger = logger;
this.levelIndex = FilteredLogger.logLevels.indexOf(level);
}
log(log) {
const index = FilteredLogger.logLevels.indexOf(log.level);
if (index >= this.levelIndex) {
this.logger.log(log);
}
}
}
exports.FilteredLogger = FilteredLogger;
FilteredLogger.logLevels = [logger_1.LogLevel.DEBUG, logger_1.LogLevel.INFO, logger_1.LogLevel.WARNING, logger_1.LogLevel.ERROR];