'use strict' const { transports, format, createLogger } = require('winston') /** * createLog() - Returns a winston logger configured to service * * @param {string} label Label appearing on logger * @param {string} filename Optional file to write log to * @returns {object} Winston logger */ function createLog (label, filename = null) { const transportsArr = [ new (transports.Console)({ label : label }) ] if (filename !== null) { transportsArr.push( new (transports.File)({ label : label, filename : filename }) ) } return new (createLogger)({ format: format.combine( format.label({ label : label || 'intval3' }), format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), format.printf((info) => `${info.timestamp} [${info.label}] ${info.level}: ${info.message}`+(info.splat!==undefined?`${info.splat}`:" ")) ), transports: transportsArr }) } module.exports = createLog