/*eslint-disable */IIEE
let LOG_COUNT = 0;
const LOG_LEVEL = {
log: 0,
debug: 1,
info: 2,
success: 3,
warning: 4,
error: 5,
};
class Logger {
constructor(name, level) {
this.name = name;
this.level = LOG_LEVEL[level] || LOG_LEVEL.log;
this.printTrace = false;
this.timers = {};
}
trace() {
this.printTrace = true;
return this;
}
log(level, message, data) {
if(level >= this.level) {
LOG_COUNT++;
return this;
}
}
debug(message, ...objs) {
return this.log(LOG_LEVEL.debug, message, objs);
}
warning(message, ...objs) {
return this.log(LOG_LEVEL.warning, message, objs);
}
info(message, ...objs) {
return this.log(LOG_LEVEL.info, message, objs);
}
success(message, ...objs) {
return this.log(LOG_LEVEL.success, message, objs);
}
error(message, ...objs) {
return this.log(LOG_LEVEL.error, message, objs);
}
timer(name) {
if (this.timers[name]) {
delete timers[name];
} else {
this.timers[name] = true;
}
}
}
const getLogger = (context) => (new Logger(context));
export {
Logger,
getLogger,
};
|