UNPKG

spartan-logger

Version:
127 lines (109 loc) 3.46 kB
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var LogLevel; (function (LogLevel) { LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG"; LogLevel[LogLevel["INFO"] = 1] = "INFO"; LogLevel[LogLevel["WARN"] = 2] = "WARN"; LogLevel[LogLevel["ERROR"] = 3] = "ERROR"; LogLevel[LogLevel["SILENT"] = 4] = "SILENT"; })(LogLevel || (LogLevel = {})); var DEBUG = LogLevel.DEBUG; var INFO = LogLevel.INFO; var WARN = LogLevel.WARN; var ERROR = LogLevel.ERROR; var SILENT = LogLevel.SILENT; var LogMode; (function (LogMode) { LogMode[LogMode["WEB"] = 0] = "WEB"; LogMode[LogMode["SERVER"] = 1] = "SERVER"; })(LogMode || (LogMode = {})); var Logger = /*#__PURE__*/function () { function Logger(logLevel, mode) { this.logLevel = logLevel; this.mode = mode; } var _proto = Logger.prototype; _proto.getLevel = function getLevel() { return this.logLevel; }; _proto.setLevel = function setLevel(level) { this.logLevel = level; }; _proto.doNothing = function doNothing() {// do not log }; _proto.bindToFunc = function bindToFunc(config) { var methodName = this.mode === LogMode.WEB ? "%c" + config.name + "%c" : "[" + config.name + "]"; var style = this.mode === LogMode.WEB ? "font-size:10px;background:" + config.background + ";color:white;padding:3px 6px" : ""; return Function.prototype.bind.call(config.method, console, methodName, style, ""); }; _createClass(Logger, [{ key: "debug", get: function get() { return this.logLevel <= LogLevel.DEBUG ? this.bindToFunc({ name: "DEBUG", method: console.log, background: "rgba(0,0,0,0.1)" }) : this.doNothing; } }, { key: "info", get: function get() { return this.logLevel <= LogLevel.INFO ? this.bindToFunc({ name: "INFO", method: console.log, background: "rgba(0,0,0,0.1)" }) : this.doNothing; } }, { key: "warn", get: function get() { return this.logLevel <= LogLevel.WARN ? this.bindToFunc({ name: "WARN", method: console.warn, background: "#FB8C00" }) : this.doNothing; } }, { key: "error", get: function get() { return this.logLevel <= LogLevel.ERROR ? this.bindToFunc({ name: "ERROR", method: console.error, background: "red" }) : this.doNothing; } }]); return Logger; }(); var defaultConfig = { level: LogLevel.INFO, mode: LogMode.WEB }; var nodeConfig = { level: LogLevel.INFO, mode: LogMode.SERVER }; var createLogger = function createLogger(config) { if (config === void 0) { config = defaultConfig; } return new Logger(config.level, config.mode); }; var createNodeLogger = function createNodeLogger() { return new Logger(nodeConfig.level, nodeConfig.mode); }; export { DEBUG, ERROR, INFO, LogLevel, LogMode, SILENT, WARN, createLogger, createNodeLogger }; //# sourceMappingURL=spartan-logger.esm.js.map