Winston Logger 2 до 3 обновления.сообщения через запятую больше не объединяются - PullRequest
1 голос
/ 09 июля 2019

Я пытаюсь перейти с winston 2 на 3 из-за проблемы с разветвлением вложенных объектов мангуста.Это вызвало рекурсивный вызов и привело к сбою ... (позже я открою проблему для winston2).вместо того, чтобы везде менять свой код для строкового преобразования, я попытался обновить Winston.Это устранило проблему, и это печатает успешно.тем не менее, мой код также содержит места, где такой код существует, logger.info («получил какой-то объект, подобный такому», {некоторый объект}), он больше не работает в winston 3. он печатает только первую часть.

пример кода winston2:

const winston = require('winston');


// logger configuration
var logger = new winston.Logger({
  transports: [
    new winston.transports.Console({
      level:'info',
      handleExceptions: false,
      json: false,
      colorize: true,
      prettyPrint: true
    })
  ],
  exitOnError: false
});



logger.info('test1',{'test':'test2'}, 'test3?');

вывод:

info: test1 { test: 'test2' } test3?

как ожидается

код winston3:

const winston = require('winston');


const prettyJson = winston.format.printf(info => {
  if (info.message.constructor === Object) {
    info.message = JSON.stringify(info.message, null, 4)
  }
  console.log(info)
  return `${info.timestamp} ${info.level}: ${info.message}`
});

var logger = winston.createLogger({
    transports:[
        // transport that prints logs into the console
    new winston.transports.Console({
      level: 'info',
      format: winston.format.combine(
          // winston.format.timestamp(),
          // winston.format.colorize(),
          // winston.format.prettyPrint(),
          // winston.format.splat(),
        winston.format.simple(),

          // prettyJson
      )
    })
    ]
});


logger.info('test1',{'test':'test2'}, 'test3?');

output: info: test1 {"test":"test2"}

независимо от того, что я пробую, я не могу повторить тот же вывод winston2.

...