@simplito/privmx-webendpoint
Version:
PrivMX Web Endpoint library
42 lines (41 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = exports.LogLevel = void 0;
var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["ERROR"] = 0] = "ERROR";
LogLevel[LogLevel["WARN"] = 1] = "WARN";
LogLevel[LogLevel["INFO"] = 2] = "INFO";
LogLevel[LogLevel["DEBUG"] = 3] = "DEBUG";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
class Logger {
level;
constructor(level = LogLevel.WARN) {
this.level = level;
}
setLevel(level) {
this.level = level;
}
getLevel() {
return this.level;
}
log(level, prefix, args) {
if (level <= this.level) {
const timestamp = new Date().toISOString();
console.log(`[${timestamp}] [${prefix}]`, ...args);
}
}
debug(...args) {
this.log(LogLevel.DEBUG, "DEBUG", args);
}
info(...args) {
this.log(LogLevel.INFO, "INFO", args);
}
warn(...args) {
this.log(LogLevel.WARN, "WARN", args);
}
error(...args) {
this.log(LogLevel.ERROR, "ERROR", args);
}
}
exports.Logger = Logger;