winston.createLogger({ format: combine( timestamp(), printf(info => `${info.timestamp} ${info.level}: ${info.message}`), splat() ), transports: [ new winston.transports.File({ filename: 'logs/error.log', level: 'error' }), new winston.transports.File({ filename: 'logs/combined.log' })] })
function consoleLogger(customLevels, customFormat) { module.exports.logger = winston.createLogger({ levels: customLevels.levels, transports: [ new winston.transports.Console({ level: config.loglevel, handleExceptions: true, json: false, format: winston.format.combine( winston.format.colorize(), winston.format.timestamp(), winston.format.splat(), customFormat ) }) ], exitOnError: false }); }
createLogger({ format: format.combine( format.timestamp(), format.colorize(), format.splat(), format.metadata({ fillExcept: ['message', 'level', 'timestamp', 'label'] }), format.printf((info) => (Object.keys(info.metadata).length ? `${info.timestamp} | [${info.level}] ${info.message} | ${JSON.stringify(info.metadata)}` : `${info.timestamp} | [${info.level}] ${info.message}`)), ), transports: [ new transports.Console({ level: 'verbose', }), ], })
function getLogger({ module, name }) { let label = null; if (module) { label = module.filename .split('/') .slice(-2) .join('/'); } else { label = name || ''; } return createLogger({ transports: [ new transports.File({ format: format.combine(format.label({ label }), format.splat(), customPrintf()), ...options.file }), new transports.Console({ ...options.console, format: format.combine( format.label({ label }), format.colorize(), format.splat(), format.json({ space: 2 }), customPrintf() ) }) ] }); }
label({ label: options.label }), timestamp(), splat(), simple(), formatter,
/** * Combine log formatters based on environment. * TODO (@swaagie) this might need a k8 pod label as well * * @returns {Object} Combined formats. * @private */ format() { if (this.local) { return format.combine( reduxLogger(), format.colorize(), format.splat(), format.simple() ); } // // Remark (@indexzero): in the event that redux logging is not // turned off (i.e. configureMakeStore({ reducers })) AND level // is manually set to 'debug' not having `inlineColors` here // may cause issues. // return format.combine( format.splat(), format.label({ label: this.prefix }), format.json() ); }
/** * Combine log formatters based on environment. * TODO (@swaagie) this might need a k8 pod label as well * * @returns {Object} Combined formats. * @private */ format() { if (this.local) { return format.combine( reduxLogger(), format.colorize(), format.splat(), format.simple() ); } // // Remark (@indexzero): in the event that redux logging is not // turned off (i.e. configureMakeStore({ reducers })) AND level // is manually set to 'debug' not having `inlineColors` here // may cause issues. // return format.combine( format.splat(), format.label({ label: this.prefix }), format.json() ); }