@deepkush97/logger-ts
Version:
A simple logger implementation with typescript containing two transport method for logging.
23 lines (22 loc) • 908 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
const events_1 = require("events");
const LogLevels_1 = require("../utils/LogLevels");
class Logger {
constructor(transports) {
this.log = (level, args) => {
this._emitter.emit("log", level, args);
};
this.warn = (...args) => this.log(LogLevels_1.LogLevels.WARN, args);
this.debug = (...args) => this.log(LogLevels_1.LogLevels.DEBUG, args);
this.info = (...args) => this.log(LogLevels_1.LogLevels.INFO, args);
this.error = (...args) => this.log(LogLevels_1.LogLevels.ERROR, args);
this._transports = transports;
this._emitter = new events_1.EventEmitter();
this._transports.forEach((transport) => {
this._emitter.on("log", transport.log);
});
}
}
exports.Logger = Logger;