UNPKG

@jrosadob/nestjs-sophia-framework

Version:

Franework para microservicios en NestJS

108 lines 4.28 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); }; var Logger_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; const common_1 = require("@nestjs/common"); const config_service_1 = require("../config/config.service"); const core_1 = require("@nestjs/core"); const send_to_logstash_1 = require("../tools/send-to-logstash"); let Logger = Logger_1 = class Logger extends common_1.ConsoleLogger { constructor(configService) { super(); this.configService = configService; Logger_1.configService = this.configService; Logger_1.logstashUrl = this.configService.get('logger.http.host'); } static getConfigService() { if (!this.appContext) { return undefined; } return this.appContext.get(config_service_1.ConfigService); } static async getRequest() { const request = this.appContext ? await this.appContext.resolve(core_1.REQUEST).catch(() => null) : null; const value = typeof (request === null || request === void 0 ? void 0 : request.method) === 'string' ? request : null; return value; } static async getResponse() { var _a; const request = await this.getRequest(); return (_a = request === null || request === void 0 ? void 0 : request.response) !== null && _a !== void 0 ? _a : null; } static async sendToLogstash(level, message, meta) { await (0, send_to_logstash_1.sendToLogstash)(this.configService, this.logstashUrl, level, message, meta, await this.getRequest(), await this.getResponse()); } setContext(context) { super.setContext(context); } static setLogstashUrl(url) { this.logstashUrl = url; } static setApplicationContext(appContext) { this.appContext = appContext; } setLogstashUrl(url) { Logger_1.setLogstashUrl(url); } log(message, context) { if (context) { super.log('- ' + message, context); Logger_1.sendToLogstash('log', message, { context: context }); } else { super.log('- ' + message); Logger_1.sendToLogstash('log', message); } } warn(message) { super.error('- ' + message); } error(message) { super.error('- ' + message); } debug(message) { super.error('- ' + message); } static async log(message, meta) { common_1.Logger.log(message, meta); } static async warn(message, meta) { common_1.Logger.warn(message, meta); await Logger_1.sendToLogstash('warn', message, { meta: meta }); } static async error(message, trace, meta) { if (meta) { common_1.Logger.error(message, trace, meta); await Logger_1.sendToLogstash('error', message, { trace, meta }); } else if (trace) { common_1.Logger.error(message, trace); await Logger_1.sendToLogstash('error', message, { trace }); } else { common_1.Logger.error(message); await Logger_1.sendToLogstash('error', message); } } static async debug(message, meta) { common_1.Logger.debug(message, meta); await Logger_1.sendToLogstash('debug', message, { meta: meta }); } }; exports.Logger = Logger; exports.Logger = Logger = Logger_1 = __decorate([ (0, common_1.Injectable)(), __metadata("design:paramtypes", [config_service_1.ConfigService]) ], Logger); //# sourceMappingURL=logger.js.map