greybel-js
Version:
Transpiler/Interpreter for GreyScript. (GreyHack)
38 lines (37 loc) • 818 B
JavaScript
export class Logger {
logLevel = 'debug';
logLevels = {
debug: 0,
info: 1,
error: 2,
warn: 3,
none: 4
};
setLogLevel(level) {
this.logLevel = level;
}
isAllowed(level) {
return this.logLevels[level] >= this.logLevels[this.logLevel];
}
debug(message) {
if (!this.isAllowed('debug'))
return;
console.debug(message);
}
info(message) {
if (!this.isAllowed('info'))
return;
console.log(message);
}
error(message) {
if (!this.isAllowed('error'))
return;
console.error(message);
}
warn(message) {
if (!this.isAllowed('warn'))
return;
console.warn(message);
}
}
export const logger = new Logger();