UNPKG

bb-inspired

Version:

Core library for BB-inspired NestJS backend

70 lines 3.12 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AppLogger = void 0; const common_1 = require("@nestjs/common"); let AppLogger = class AppLogger { constructor(context, metadata) { this.metadata = {}; this.logger = new common_1.Logger(context); this.context = context; this.metadata = metadata || {}; } setContext(context) { this.context = context; } setMetadata(metadata) { this.metadata = { ...this.metadata, ...metadata }; } debug(message, options) { this.logger.debug(this.formatMessage(message, options), this.getContext(options)); } verbose(message, options) { this.logger.verbose(this.formatMessage(message, options), this.getContext(options)); } log(message, options) { this.logger.log(this.formatMessage(message, options), this.getContext(options)); } warn(message, options) { this.logger.warn(this.formatMessage(message, options), this.getContext(options)); } error(message, trace, options) { this.logger.error(this.formatMessage(message, options), trace, this.getContext(options)); } formatMessage(message, options) { const combinedMetadata = { ...this.metadata, ...((options === null || options === void 0 ? void 0 : options.metadata) || {}), }; if (options === null || options === void 0 ? void 0 : options.userId) { combinedMetadata.userId = options.userId; } if (options === null || options === void 0 ? void 0 : options.requestId) { combinedMetadata.requestId = options.requestId; } if (Object.keys(combinedMetadata).length === 0) { return message; } if (typeof message === 'object') { return { ...message, metadata: combinedMetadata }; } return `${message} ${JSON.stringify(combinedMetadata)}`; } getContext(options) { return (options === null || options === void 0 ? void 0 : options.context) || this.context || 'Application'; } }; exports.AppLogger = AppLogger; exports.AppLogger = AppLogger = __decorate([ (0, common_1.Injectable)({ scope: common_1.Scope.TRANSIENT }), __metadata("design:paramtypes", [String, Object]) ], AppLogger); //# sourceMappingURL=logger.js.map