@lakutata/core
Version:
Lakutata Framework Core
112 lines • 4.29 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 __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