如何给 Winston 记录器上色?
How to color Winston logger?
我一直在阅读 documentation 但我找不到添加颜色的方法。我在 colorsLogger
中设置了 winston 可用的颜色,并将它们作为参数传递给 addColor()
。创建传输后,我将 colorize
声明为 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;
您需要提供 colorize
作为函数。像这样
transportsList.push(
new transports.Console({
"prettyPrint": true,
"format": format.combine(
format.colorize(), // see this
format.printf(info => `[${info.timestamp}] ${info.level}: ${info.message}`)
)
})
);
希望对您有所帮助。
我一直在阅读 documentation 但我找不到添加颜色的方法。我在 colorsLogger
中设置了 winston 可用的颜色,并将它们作为参数传递给 addColor()
。创建传输后,我将 colorize
声明为 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;
您需要提供 colorize
作为函数。像这样
transportsList.push(
new transports.Console({
"prettyPrint": true,
"format": format.combine(
format.colorize(), // see this
format.printf(info => `[${info.timestamp}] ${info.level}: ${info.message}`)
)
})
);
希望对您有所帮助。