spartan-logger
Version:
This logger is built for minimalists.
133 lines (115 loc) • 3.77 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
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;
}
(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";
})(exports.LogLevel || (exports.LogLevel = {}));
var DEBUG = exports.LogLevel.DEBUG;
var INFO = exports.LogLevel.INFO;
var WARN = exports.LogLevel.WARN;
var ERROR = exports.LogLevel.ERROR;
var SILENT = exports.LogLevel.SILENT;
(function (LogMode) {
LogMode[LogMode["WEB"] = 0] = "WEB";
LogMode[LogMode["SERVER"] = 1] = "SERVER";
})(exports.LogMode || (exports.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 === exports.LogMode.WEB ? "%c" + config.name + "%c" : "[" + config.name + "]";
var style = this.mode === exports.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 <= exports.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 <= exports.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 <= exports.LogLevel.WARN ? this.bindToFunc({
name: "WARN",
method: console.warn,
background: "#FB8C00"
}) : this.doNothing;
}
}, {
key: "error",
get: function get() {
return this.logLevel <= exports.LogLevel.ERROR ? this.bindToFunc({
name: "ERROR",
method: console.error,
background: "red"
}) : this.doNothing;
}
}]);
return Logger;
}();
var defaultConfig = {
level: exports.LogLevel.INFO,
mode: exports.LogMode.WEB
};
var nodeConfig = {
level: exports.LogLevel.INFO,
mode: exports.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);
};
exports.DEBUG = DEBUG;
exports.ERROR = ERROR;
exports.INFO = INFO;
exports.SILENT = SILENT;
exports.WARN = WARN;
exports.createLogger = createLogger;
exports.createNodeLogger = createNodeLogger;
//# sourceMappingURL=spartan-logger.cjs.development.js.map