UNPKG

@lakutata/core

Version:

Lakutata Framework Core

112 lines 4.29 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 __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; const Plugin_1 = require("../base/Plugin"); const winston_1 = require("winston"); const DependencyInjection_1 = require("../decorators/DependencyInjection"); const util_1 = require("util"); const transports_1 = require("winston/lib/winston/transports"); const moment_timezone_1 = __importDefault(require("moment-timezone")); const logform_1 = require("logform"); class Logger extends Plugin_1.Plugin { constructor() { super(...arguments); this.level = 'debug'; this.transports = []; this.console = { silent: false, format: logform_1.format.combine(logform_1.format.timestamp({ format: () => { return moment_timezone_1.default.tz(Date.now(), process.env.TZ).format('YYYY-MM-DD HH:mm:ss'); } }), logform_1.format.colorize(), logform_1.format.printf(packet => { return `${packet.timestamp} ${packet.level}: ${packet.message}`; })) }; } onActivation() { const loggerTransports = this.transports ? (Array.isArray(this.transports) ? this.transports : [this.transports]) : []; let hasConsole = false; for (const loggerTransport of loggerTransports) { if (loggerTransport instanceof winston_1.transports.Console) { hasConsole = true; break; } } if (!hasConsole) { loggerTransports.unshift(new winston_1.transports.Console(this.console)); } this.logger = (0, winston_1.createLogger)({ level: this.level, defaultMeta: this.meta, levels: { emerg: 0, alert: 1, crit: 2, error: 3, warning: 4, notice: 5, info: 6, debug: 7 }, transports: loggerTransports }); } formatArguments(args) { return util_1.format.apply(util_1.format, args); } emerg(...args) { this.logger.emerg(this.formatArguments(args)); } alert(...args) { this.logger.alert(this.formatArguments(args)); } crit(...args) { this.logger.crit(this.formatArguments(args)); } error(...args) { this.logger.error(this.formatArguments(args)); } warning(...args) { this.logger.warning(this.formatArguments(args)); } notice(...args) { this.logger.notice(this.formatArguments(args)); } info(...args) { this.logger.info(this.formatArguments(args)); } debug(...args) { this.logger.debug(this.formatArguments(args)); } } __decorate([ (0, DependencyInjection_1.Configurable)(), __metadata("design:type", String) ], Logger.prototype, "level", void 0); __decorate([ (0, DependencyInjection_1.Configurable)(), __metadata("design:type", Object) ], Logger.prototype, "meta", void 0); __decorate([ (0, DependencyInjection_1.Configurable)(), __metadata("design:type", Object) ], Logger.prototype, "transports", void 0); __decorate([ (0, DependencyInjection_1.Configurable)(), __metadata("design:type", Object) ], Logger.prototype, "console", void 0); exports.Logger = Logger; //# sourceMappingURL=Logger.js.map