UNPKG

@loopback/logging

Version:

An extension exposes logging for Winston and Fluentd with LoopBack 4

64 lines 2.82 kB
"use strict"; // Copyright IBM Corp. and LoopBack contributors 2019. All Rights Reserved. // Node module: @loopback/logging // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT Object.defineProperty(exports, "__esModule", { value: true }); exports.FluentTransportProvider = exports.FluentSenderProvider = exports.FluentSender = void 0; const tslib_1 = require("tslib"); const core_1 = require("@loopback/core"); const fluent_logger_1 = tslib_1.__importStar(require("fluent-logger")); const keys_1 = require("./keys"); var fluent_logger_2 = require("fluent-logger"); Object.defineProperty(exports, "FluentSender", { enumerable: true, get: function () { return fluent_logger_2.FluentSender; } }); /** * Provider for FluentSender */ // eslint-disable-next-line @typescript-eslint/no-explicit-any let FluentSenderProvider = class FluentSenderProvider { constructor(getFluentConfig) { this.getFluentConfig = getFluentConfig; } async value() { const options = await this.getFluentConfig(); if (options == null) { throw new Error(`Fluent is not configured. Please configure ${this.binding.key}.`); } return (0, fluent_logger_1.createFluentSender)('LoopBack', options); } }; exports.FluentSenderProvider = FluentSenderProvider; tslib_1.__decorate([ core_1.inject.binding(), tslib_1.__metadata("design:type", core_1.Binding) ], FluentSenderProvider.prototype, "binding", void 0); exports.FluentSenderProvider = FluentSenderProvider = tslib_1.__decorate([ tslib_1.__param(0, core_1.config.getter()), tslib_1.__metadata("design:paramtypes", [Function]) ], FluentSenderProvider); /** * Provider to create FluentTransport for Winston */ let FluentTransportProvider = class FluentTransportProvider { constructor(getFluentConfig) { this.getFluentConfig = getFluentConfig; } async value() { const options = await this.getFluentConfig(); if (options == null) { throw new Error(`Fluent is not configured. Please configure ${this.binding.key}.`); } const winstonTransportClass = fluent_logger_1.default.support.winstonTransport(); return new winstonTransportClass('LoopBack', options); } }; exports.FluentTransportProvider = FluentTransportProvider; tslib_1.__decorate([ core_1.inject.binding(), tslib_1.__metadata("design:type", core_1.Binding) ], FluentTransportProvider.prototype, "binding", void 0); exports.FluentTransportProvider = FluentTransportProvider = tslib_1.__decorate([ tslib_1.__param(0, core_1.config.getter({ fromBinding: keys_1.LoggingBindings.FLUENT_SENDER })), tslib_1.__metadata("design:paramtypes", [Function]) ], FluentTransportProvider); //# sourceMappingURL=fluent.js.map