UNPKG

shylog

Version:

Tiny client-side conditional logger

41 lines 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Shylog = (function () { function Shylog(_a) { var _b = _a === void 0 ? { emit: false, logger: console.log } : _a, emit = _b.emit, logger = _b.logger; this.emit = emit; this.externalLogger = logger; this.buffer = []; this.customLevel = {}; this.error = this.setLevel(1); this.warn = this.setLevel(2); this.info = this.setLevel(3); this.log = this.setLevel(4); } Shylog.prototype.getLogs = function (level) { if (typeof level === 'function') { return this.buffer.filter(function (log) { return log.level === level.level; }); } else { return level ? this.buffer.filter(function (log) { return log.level === level; }) : this.buffer; } }; Shylog.prototype.setLevel = function (level) { var _this = this; var logFn = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var message = { level: level, time: Date.now(), msg: args.join(' ') }; _this.buffer.push(message); _this.emit && _this.externalLogger(message); }; logFn.level = level; this.customLevel[level] = logFn; return logFn; }; return Shylog; }()); exports.default = Shylog; //# sourceMappingURL=index.js.map