@flashcoffee/fclogger
Version:
Flash Coffee Custom Logger
97 lines • 4.23 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 __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = exports.logger = void 0;
const common_1 = require("@nestjs/common");
const nestjs_injectable_1 = require("nestjs-injectable");
const winston_1 = require("winston");
const const_1 = require("../const");
const redactor_1 = require("../redactors/redactor");
const redactor_2 = require("../redactors/redactor");
const ddlogger_1 = require("./ddlogger");
const jsonlogger_1 = require("./jsonlogger");
const { combine, simple, printf, errors } = winston_1.format;
exports.logger = (0, winston_1.createLogger)({
level: 'info',
exitOnError: false,
transports: [
new winston_1.transports.Console({
level: 'info',
format: combine(errors({ stack: true }), simple(), printf((_a) => {
var { level } = _a, payload = __rest(_a, ["level"]);
const { message } = Object.assign({}, payload);
delete payload.dd;
delete payload.message;
return `[${level.toUpperCase()}] ${message}${!!Object.keys(payload).length ? ` ${JSON.stringify(payload)}` : ''}`;
})),
}),
],
});
let Logger = class Logger {
constructor(log, ddlog, jsonlog) {
this.log = log;
this.jsonlog = jsonlog;
if (!log) {
this.log = exports.logger;
}
if (!ddlog) {
ddlog = ddlogger_1.ddlogger;
}
if (!jsonlog) {
this.jsonlog = jsonlogger_1.jsonlogger;
}
this.dd = new ddlogger_1.DDLogger(ddlog);
}
info(message, data) {
const redactedMessage = (0, redactor_2.strRedactor)(message);
const redactedData = (0, redactor_1.objRedactor)(data);
this.log.info(redactedMessage, redactedData);
}
error(message, data) {
const redactedMessage = (0, redactor_2.strRedactor)(message);
const redactedData = (0, redactor_1.objRedactor)(data);
this.log.error(redactedMessage, redactedData);
}
warn(message, data) {
const redactedMessage = (0, redactor_2.strRedactor)(message);
const redactedData = (0, redactor_1.objRedactor)(data);
this.log.warn(redactedMessage, redactedData);
}
json(data) {
const redactedData = (0, redactor_1.objRedactor)(data);
this.jsonlog.info(redactedData);
}
};
Logger = __decorate([
(0, nestjs_injectable_1.Injectable)(),
__param(0, (0, common_1.Inject)(const_1.DEFAULT_LOGGER_PROVIDER)),
__param(1, (0, common_1.Inject)(const_1.DD_LOGGER_PROVIDER)),
__param(2, (0, common_1.Inject)(const_1.JSON_LOGGER_PROVIDER)),
__metadata("design:paramtypes", [winston_1.Logger,
winston_1.Logger,
winston_1.Logger])
], Logger);
exports.Logger = Logger;
//# sourceMappingURL=logger.js.map