UNPKG

@tasolutions/express-core

Version:
43 lines (35 loc) 1.11 kB
const winston = require('winston'); const { ElasticsearchTransport } = require('winston-elasticsearch'); const { loggerInfo } = require('../config'); require('winston-mongodb'); const transports = [ new winston.transports.Console() ]; if (loggerInfo.enable === 'true') { const esTransportOpts = { level: 'info', clientOpts: { node: loggerInfo.nodeEndpoint, auth: { username: loggerInfo.auth_username, password: loggerInfo.auth_password } }, index: loggerInfo.index }; transports.push(new ElasticsearchTransport(esTransportOpts)); if (loggerInfo.mongodbUrl && loggerInfo.mongodbUrl.trim() !== 'false') { const transportOptions = { db: loggerInfo.mongodbUrl, collection: 'change_logs', level: 'info', capped: true, tryReconnect: true, }; transports.push(new winston.transports.MongoDB(transportOptions)); } } const logger = winston.createLogger({ transports, }); module.exports = { logger };