UNPKG

@villedemontreal/logger

Version:
46 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LazyLogger = void 0; /** * A Logger wrapper that allows to lazyly create a * real Logger. * * The first time a log is perform, the * "loggerCreator" will be called to create * the actual Logger. */ class LazyLogger { constructor(name, loggerCreator) { this.name = name; if (!loggerCreator) { throw new Error(`The Logger Creator is required!`); } this.loggerCreator = loggerCreator; } debug(messageObj, txtMsg) { return this.getRealLogger().debug(messageObj, txtMsg); } info(messageObj, txtMsg) { return this.getRealLogger().info(messageObj, txtMsg); } warning(messageObj, txtMsg) { return this.getRealLogger().warning(messageObj, txtMsg); } error(messageObj, txtMsg) { return this.getRealLogger().error(messageObj, txtMsg); } log(level, messageObj, txtMsg) { return this.getRealLogger().log(level, messageObj, txtMsg); } getRealLogger() { if (!this.realLogger) { this.realLogger = this.loggerCreator(this.name); if (!this.realLogger) { throw new Error(`The Logger Creator must create a valid Logger!`); } } return this.realLogger; } } exports.LazyLogger = LazyLogger; //# sourceMappingURL=lazyLogger.js.map