const { createLogger, format, transports, addColors } = require('winston') const { combine, timestamp, printf } = format const consoleFormat = ({ level, message, timestamp }) => { if (typeof message === 'object') return JSON.stringify(message) return message } const config = { levels: { error: 0, warn: 1, info: 2, failed: 3, success: 4, http: 5, verbose: 6, debug: 7, silly: 8 }, colors: { info: 'white', success: 'green', failed: 'red' } } const t = [ new transports.Console({ format: format.combine(format.printf(consoleFormat)) }) ] const logger = createLogger({ transports: t, levels: config.levels, level: 'verbose' }) addColors(config.colors) module.exports = logger