@inward/extension-logging
Version:
LoopBack Logging for Winston and Fluentd
71 lines • 3.06 kB
JavaScript
;
// Copyright IBM Corp. 2019. All Rights Reserved.
// Node module: @inward/extension-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 = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@inward/core");
const fluent_logger_1 = require("fluent-logger");
const keys_1 = require("./keys");
const fluent = require('fluent-logger');
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 */ (() => {
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 fluent_logger_1.createFluentSender('LoopBack', options);
}
};
tslib_1.__decorate([
core_1.inject.binding(),
tslib_1.__metadata("design:type", core_1.Binding)
], FluentSenderProvider.prototype, "binding", void 0);
FluentSenderProvider = tslib_1.__decorate([
tslib_1.__param(0, core_1.config.getter()),
tslib_1.__metadata("design:paramtypes", [Function])
], FluentSenderProvider);
return FluentSenderProvider;
})();
exports.FluentSenderProvider = FluentSenderProvider;
/**
* Provider to create FluentTransport for Winston
*/
let FluentTransportProvider = /** @class */ (() => {
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.support.winstonTransport();
return new winstonTransportClass('LoopBack', options);
}
};
tslib_1.__decorate([
core_1.inject.binding(),
tslib_1.__metadata("design:type", core_1.Binding)
], FluentTransportProvider.prototype, "binding", void 0);
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);
return FluentTransportProvider;
})();
exports.FluentTransportProvider = FluentTransportProvider;
//# sourceMappingURL=fluent.js.map