Я использую Winston 3.1.0, Как получить все сообщения журнала, переданные из одного оператора logger.info (), напечатанного вместе? - PullRequest
0 голосов
/ 20 января 2019

Я использую Winston 3.1.0, когда я делаю logger.error ('abc', 'def');из моего узла js код «def» попадает в «splat», тогда как «abc» может быть доступен с помощью error.message, поэтому печатается только «abc».Сообщение в файле: [2019-01-20 20:42:32] [ошибка]: [abc] Я хочу напечатать 'abc def' вместе в файле журнала.Я предполагаю, что Сплат вызывает некоторую проблему, как решить эту проблему?Раньше это работало с Winston 2.x.Я не нашел большой помощи в документации, связанной с этой функцией Splat.Ниже мой конфиг winston logger

const loggerConfig = {
    logger: winston.createLogger({
        transports: [
            new winston.transports.DailyRotateFile({
                timestamp: true,
                colorize: false,
                prettyPrint: true,
                label: 'api',
                level: 'error',
                filename: `${appRoot}/logs/api_error_%DATE%.log`,
                maxsize: 5242880, // 5MB
                maxFiles: 5,
                datePattern: 'YYYY-MM-DD',
                prepend: true,
                format: winston.format.combine(
                    winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
                    winston.format.printf((error) => `[${error.timestamp}] [${error.level}]: [${error.message}]`)
                ),
            }),
        ]
    })}
...