@tsed/logger
Version:
A multi channel logger written in TypeScript.
54 lines • 1.7 kB
JavaScript
export class LogLevel {
constructor(level, levelStr) {
this.level = level;
this.levelStr = levelStr;
this.level = level;
this.levelStr = levelStr;
}
static getLevel(sArg, defaultLevel) {
if (sArg instanceof LogLevel) {
return sArg;
}
if (typeof sArg === "string") {
const index = sArg.toUpperCase();
return DEFAULT_LOG_LEVELS[index] || defaultLevel;
}
return this.getLevel(sArg.toString());
}
toString() {
return this.levelStr;
}
isLessThanOrEqualTo(otherLevel) {
if (typeof otherLevel === "string") {
otherLevel = LogLevel.getLevel(otherLevel);
}
return this.level <= otherLevel.level;
}
isGreaterThanOrEqualTo(otherLevel) {
if (typeof otherLevel === "string") {
otherLevel = LogLevel.getLevel(otherLevel);
}
return this.level >= otherLevel.level;
}
isEqualTo(otherLevel) {
if (typeof otherLevel === "string") {
otherLevel = LogLevel.getLevel(otherLevel);
}
return this.level === otherLevel.level;
}
}
const DEFAULT_LOG_LEVELS = {
ALL: new LogLevel(Number.MIN_VALUE, "ALL"),
TRACE: new LogLevel(5000, "TRACE"),
DEBUG: new LogLevel(10000, "DEBUG"),
INFO: new LogLevel(20000, "INFO"),
WARN: new LogLevel(30000, "WARN"),
ERROR: new LogLevel(40000, "ERROR"),
FATAL: new LogLevel(50000, "FATAL"),
MARK: new LogLevel(9007199254740992, "MARK"), // 2^53
OFF: new LogLevel(Number.MAX_VALUE, "OFF")
};
export function levels() {
return DEFAULT_LOG_LEVELS;
}
//# sourceMappingURL=LogLevel.js.map