const LOG_LEVELS = {
DEBUG: 0,
INFO: 1,
WARN: 2,
ERROR: 3
};
class Logger {
constructor(level = LOG_LEVELS.INFO, enabled = true) {
this.level = level;
this.enabled = enabled;
}
debug(...args) {
if (this.enabled && this.level <= LOG_LEVELS.DEBUG) {
console.log('[DEBUG]', ...args);
}
}
info(...args) {
if (this.enabled && this.level <= LOG_LEVELS.INFO) {
console.info('[INFO]', ...args);
}
}
warn(...args) {
if (this.enabled && this.level <= LOG_LEVELS.WARN) {
console.warn('[WARN]', ...args);
}
}
error(...args) {
if (this.enabled && this.level <= LOG_LEVELS.ERROR) {
console.error('[ERROR]', ...args);
}
}
}
module.exports = Logger;