@jrosadob/nestjs-sophia-framework
Version:
Franework para microservicios en NestJS
108 lines • 4.28 kB
JavaScript
;
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