Как покрасить Winston logger? - PullRequest
0 голосов
/ 10 февраля 2020

Я читал документацию , но не могу найти способ получить цвет. Я установил цвета, доступные Winston в colorsLogger и передал их 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;

1 Ответ

0 голосов
/ 10 февраля 2020

Вам необходимо предоставить colorize как функцию. Примерно так

transportsList.push(
  new transports.Console({
    "prettyPrint": true,
    "format": format.combine(
      format.colorize(), // see this
      format.printf(info => `[${info.timestamp}] ${info.level}: ${info.message}`)
    )
  })
);

Надеюсь, это поможет.

...