UNPKG

@n1k1t/mock-server

Version:

Powerful util to setup mocks over HTTP APIs

83 lines 3.97 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; const colors_1 = __importDefault(require("colors")); const lodash_1 = __importDefault(require("lodash")); const utils_1 = require("./utils"); const config_1 = __importDefault(require("../config")); __exportStar(require("./types"), exports); class Logger { constructor(title) { this.title = title; } debug(...messages) { if ((0, utils_1.calculateLogLevelWeight)(config_1.default.get('logger').level) <= (0, utils_1.calculateLogLevelWeight)('D')) { return Logger.external?.debug ? Logger.external.debug(this.title, ...(0, utils_1.serializeLogSegments)(messages, Logger.serializer)) : this.publish('D', ...messages); } } info(...messages) { if ((0, utils_1.calculateLogLevelWeight)(config_1.default.get('logger').level) <= (0, utils_1.calculateLogLevelWeight)('I')) { return Logger.external?.info ? Logger.external.info(this.title, ...(0, utils_1.serializeLogSegments)(messages, Logger.serializer)) : this.publish('I', ...messages); } } warn(...messages) { if ((0, utils_1.calculateLogLevelWeight)(config_1.default.get('logger').level) <= (0, utils_1.calculateLogLevelWeight)('W')) { return Logger.external?.warn ? Logger.external.warn(this.title, ...(0, utils_1.serializeLogSegments)(messages, Logger.serializer)) : this.publish('W', ...messages); } } error(...messages) { if ((0, utils_1.calculateLogLevelWeight)(config_1.default.get('logger').level) <= (0, utils_1.calculateLogLevelWeight)('E')) { return Logger.external?.error ? Logger.external.error(this.title, ...(0, utils_1.serializeLogSegments)(messages, Logger.serializer)) : this.publish('E', ...messages); } } fatal(...messages) { if ((0, utils_1.calculateLogLevelWeight)(config_1.default.get('logger').level) <= (0, utils_1.calculateLogLevelWeight)('F')) { return Logger.external?.fatal ? Logger.external.fatal(this.title, ...(0, utils_1.serializeLogSegments)(messages, Logger.serializer)) : this.publish('F', ...messages); } } publish(level, ...messages) { console.log(colors_1.default.gray(new Date().toLocaleTimeString()), (0, utils_1.colorifyLogLevel)(level), lodash_1.default.get(colors_1.default, 'brightWhite')(this.title), ...(0, utils_1.serializeLogSegments)(messages, Logger.serializer).map((segment) => colors_1.default.white(String(segment)))); } static useExternal(external) { return Object.assign(Logger, { external }); } static useSerializers(serializers) { return Object.assign(Logger, { serializer: (key, value) => serializers[key] ? serializers[key](value) : value, }); } static build(title) { return new Logger(title); } } exports.Logger = Logger; Logger.serializer = null; Logger.external = null; //# sourceMappingURL=index.js.map