I've been reading the documentation but I can't find a way to have color. I set the colors available by winston in colorsLogger
and pass them to addColor()
as a parameter. After creating the transport I declare colorize
as true
.
const { addColors, createLogger, format, transports } = require('winston');
const transportsList = [];
const colorsLogger = {
error: 'red',
warn: 'yellow',
info: 'cyan',
debug: 'green'
};
addColors(colorsLogger);
transportsList.push(
new transports.Console({
colorize: true,
prettyPrint: true,
format: format.combine(
format.printf(info => `[${info.timestamp}] ${info.level}: ${info.message}`),
)
})
);
const logger = createLogger({
format: format.combine(
format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
format.json()),
transports: transportsList
});
module.exports = logger;
You need provide the colorize
as a function. Something like this
transportsList.push(
new transports.Console({
"prettyPrint": true,
"format": format.combine(
format.colorize(), // see this
format.printf(info => `[${info.timestamp}] ${info.level}: ${info.message}`)
)
})
);
Hope this helps.