UNPKG

@tableau/taco-toolkit

Version:
53 lines 4.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Logger = void 0; var log_level_1 = require("./log-level"); var default_serializer_1 = require("./serializer/default-serializer"); var Logger = /** @class */ (function () { function Logger(config) { var _this = this; var _a, _b; this.writers = []; this.batchableWriters = []; this.level = (_a = config.level) !== null && _a !== void 0 ? _a : log_level_1.LogLevel.INFO; this.serializer = (_b = config.serializer) !== null && _b !== void 0 ? _b : default_serializer_1.serialize; config.writers.forEach(function (writer) { _this.addWriter(writer); }); } Logger.prototype.addWriter = function (writer) { writer.setLoggerLevel(this.level); if (isBatchableWriter(writer)) { this.batchableWriters.push(writer); } this.writers.push(writer); }; Logger.prototype.flush = function () { // force to flush batchable writers this.batchableWriters.forEach(function (writer) { return writer.flush(); }); }; Logger.prototype.debug = function (message, options) { this.log(message, log_level_1.LogLevel.DEBUG, options); }; Logger.prototype.info = function (message, options) { this.log(message, log_level_1.LogLevel.INFO, options); }; Logger.prototype.error = function (message, options) { this.log(message, log_level_1.LogLevel.ERROR, options); }; Logger.prototype.warn = function (message, options) { this.log(message, log_level_1.LogLevel.WARNING, options); }; Logger.prototype.log = function (message, level, options) { var msgString = this.serializer(message); this.writers.forEach(function (writer) { writer.log(msgString, level, options); }); }; return Logger; }()); exports.Logger = Logger; function isBatchableWriter(writer) { return 'flush' in writer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFzQztBQUV0QyxzRUFBZ0Y7QUFVaEY7SUFNRSxnQkFBWSxNQUFvQjtRQUFoQyxpQkFPQzs7UUFaTyxZQUFPLEdBQWEsRUFBRSxDQUFBO1FBQ3RCLHFCQUFnQixHQUFzQixFQUFFLENBQUE7UUFLOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFBLE1BQU0sQ0FBQyxLQUFLLG1DQUFJLG9CQUFRLENBQUMsSUFBSSxDQUFBO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBQSxNQUFNLENBQUMsVUFBVSxtQ0FBSSw4QkFBaUIsQ0FBQTtRQUV4RCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFDLE1BQU07WUFDNUIsS0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCwwQkFBUyxHQUFULFVBQVUsTUFBYztRQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7U0FDbkM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRUQsc0JBQUssR0FBTDtRQUNFLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFVBQUMsTUFBTSxJQUFLLE9BQUEsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFkLENBQWMsQ0FBQyxDQUFBO0lBQzNELENBQUM7SUFFRCxzQkFBSyxHQUFMLFVBQU0sT0FBZ0IsRUFBRSxPQUFvQjtRQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxvQkFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQscUJBQUksR0FBSixVQUFLLE9BQWdCLEVBQUUsT0FBb0I7UUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsb0JBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELHNCQUFLLEdBQUwsVUFBTSxPQUFnQixFQUFFLE9BQW9CO1FBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLG9CQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFRCxxQkFBSSxHQUFKLFVBQUssT0FBZ0IsRUFBRSxPQUFvQjtRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxvQkFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRU8sb0JBQUcsR0FBWCxVQUFZLE9BQWdCLEVBQUUsS0FBZSxFQUFFLE9BQW9CO1FBQ2pFLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBQyxNQUFNO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUN2QyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDSCxhQUFDO0FBQUQsQ0FBQyxBQW5ERCxJQW1EQztBQW5EWSx3QkFBTTtBQXFEbkIsU0FBUyxpQkFBaUIsQ0FBQyxNQUFjO0lBQ3ZDLE9BQU8sT0FBTyxJQUFJLE1BQU0sQ0FBQTtBQUMxQixDQUFDIn0=