@n1k1t/mock-server
Version:
Powerful util to setup mocks over HTTP APIs
83 lines • 3.97 kB
JavaScript
;
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