UNPKG

@zcatalyst/utils

Version:

122 lines (121 loc) 5.39 kB
"use strict"; var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var _Logger_instances, _Logger_getTimestamp, _Logger_logToConsole, _Logger_resetLogLevels; Object.defineProperty(exports, "__esModule", { value: true }); exports.LOGGER = exports.LEVEL = void 0; const console_1 = require("console"); var LEVEL; (function (LEVEL) { LEVEL["NONE"] = "none"; LEVEL["ALL"] = "all"; LEVEL["FINE"] = "fine"; LEVEL["DEBUG"] = "debug"; LEVEL["INFO"] = "info"; LEVEL["WARN"] = "warn"; LEVEL["ERROR"] = "error"; })(LEVEL || (exports.LEVEL = LEVEL = {})); class Logger { constructor(options) { _Logger_instances.add(this); this.logOptions = { enable_debug: options?.enable_debug || false, enable_error: options?.enable_error || false, enable_info: options?.enable_info || false, enable_warn: options?.enable_warn || false, enable_fine: options?.enable_fine || false }; } info(message) { if (this.logOptions.enable_info) { __classPrivateFieldGet(this, _Logger_instances, "m", _Logger_logToConsole).call(this, `[INFO ] [${__classPrivateFieldGet(this, _Logger_instances, "m", _Logger_getTimestamp).call(this)}] : ${message}`); } } warn(message) { if (this.logOptions.enable_warn) { __classPrivateFieldGet(this, _Logger_instances, "m", _Logger_logToConsole).call(this, `[WARN ] [${__classPrivateFieldGet(this, _Logger_instances, "m", _Logger_getTimestamp).call(this)}] : ${message}`); } } error(message) { if (this.logOptions.enable_error) { __classPrivateFieldGet(this, _Logger_instances, "m", _Logger_logToConsole).call(this, `[ERROR] [${__classPrivateFieldGet(this, _Logger_instances, "m", _Logger_getTimestamp).call(this)}] : ${message}`); } } debug(message) { if (this.logOptions.enable_debug) { __classPrivateFieldGet(this, _Logger_instances, "m", _Logger_logToConsole).call(this, `[DEBUG] [${__classPrivateFieldGet(this, _Logger_instances, "m", _Logger_getTimestamp).call(this)}] : ${message}`); } } fine(message) { if (this.logOptions.enable_fine) { __classPrivateFieldGet(this, _Logger_instances, "m", _Logger_logToConsole).call(this, `[FINE ] [${__classPrivateFieldGet(this, _Logger_instances, "m", _Logger_getTimestamp).call(this)}] : ${message}`); } } setLogLevel(level = LEVEL.NONE) { __classPrivateFieldGet(this, _Logger_instances, "m", _Logger_resetLogLevels).call(this); switch (level) { case LEVEL.ALL: this.logOptions.enable_fine = true; this.logOptions.enable_debug = true; this.logOptions.enable_info = true; this.logOptions.enable_warn = true; this.logOptions.enable_error = true; break; case LEVEL.FINE: this.logOptions.enable_fine = true; this.logOptions.enable_debug = true; this.logOptions.enable_info = true; this.logOptions.enable_warn = true; this.logOptions.enable_error = true; break; case LEVEL.DEBUG: this.logOptions.enable_debug = true; this.logOptions.enable_info = true; this.logOptions.enable_warn = true; this.logOptions.enable_error = true; break; case LEVEL.INFO: this.logOptions.enable_info = true; this.logOptions.enable_warn = true; this.logOptions.enable_error = true; break; case LEVEL.WARN: this.logOptions.enable_warn = true; this.logOptions.enable_error = true; break; case LEVEL.ERROR: this.logOptions.enable_error = true; break; case LEVEL.NONE: { this.logOptions = { enable_debug: false, enable_error: false, enable_info: false, enable_warn: false, enable_fine: false }; break; } } return this; } } _Logger_instances = new WeakSet(), _Logger_getTimestamp = function _Logger_getTimestamp() { return new Date().toISOString(); }, _Logger_logToConsole = function _Logger_logToConsole(message) { (0, console_1.log)(message); }, _Logger_resetLogLevels = function _Logger_resetLogLevels() { this.logOptions = { enable_debug: false, enable_error: false, enable_info: false, enable_warn: false, enable_fine: false }; }; const _logLvl = process.env.ZC_LOG_LVL || 'NONE'; const processLogLvl = LEVEL[_logLvl]; exports.LOGGER = new Logger().setLogLevel(processLogLvl);