UNPKG

@loopback/logging

Version:

An extension exposes logging for Winston and Fluentd with LoopBack 4

57 lines 2.55 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.WinstonLoggerProvider = exports.WINSTON_FORMAT = exports.WINSTON_TRANSPORT = exports.WinstonTransports = exports.WinstonLogger = exports.format = exports.WinstonFormat = void 0; const tslib_1 = require("tslib"); const core_1 = require("@loopback/core"); const winston_1 = require("winston"); /** * Re-export logform/winston types */ var logform_1 = require("logform"); Object.defineProperty(exports, "WinstonFormat", { enumerable: true, get: function () { return logform_1.Format; } }); var winston_2 = require("winston"); Object.defineProperty(exports, "format", { enumerable: true, get: function () { return winston_2.format; } }); Object.defineProperty(exports, "WinstonLogger", { enumerable: true, get: function () { return winston_2.Logger; } }); Object.defineProperty(exports, "WinstonTransports", { enumerable: true, get: function () { return winston_2.transports; } }); /** * An extension point for winston transports */ exports.WINSTON_TRANSPORT = 'logging.winston.transport'; /** * An extension point for winston formats */ exports.WINSTON_FORMAT = 'logging.winston.format'; /** * A provider class that creates WinstonLogger instances */ let WinstonLoggerProvider = class WinstonLoggerProvider { constructor(transports, formats, options = {}) { this.transports = transports; this.formats = formats; this.options = options; } async value() { let transports = await this.transports(); if (transports.length === 0) { transports = [new winston_1.transports.Console({})]; } const formats = await this.formats(); return (0, winston_1.createLogger)({ transports, format: winston_1.format.combine(...formats), ...this.options, }); } }; exports.WinstonLoggerProvider = WinstonLoggerProvider; exports.WinstonLoggerProvider = WinstonLoggerProvider = tslib_1.__decorate([ tslib_1.__param(0, (0, core_1.extensions)(exports.WINSTON_TRANSPORT)), tslib_1.__param(1, (0, core_1.extensions)(exports.WINSTON_FORMAT)), tslib_1.__param(2, (0, core_1.config)()), tslib_1.__metadata("design:paramtypes", [Function, Function, Object]) ], WinstonLoggerProvider); //# sourceMappingURL=winston.js.map