Node.js winston How修改时间戳、级别、消息等的输出顺序

Node.js winston How修改时间戳、级别、消息等的输出顺序,node.js,winston,Node.js,Winston,我使用winston进行日志记录,以下是我的代码: const { createLogger, format, transports } = require('winston') const logger = createLogger({ level: 'info', format: format.combine( format.timestamp({format: 'YYYY-MM-DDTHH:mm:ss'}), format.json() ), transp

我使用
winston
进行日志记录,以下是我的代码:

const { createLogger, format, transports } = require('winston')

const logger = createLogger({
  level: 'info',
  format: format.combine(
    format.timestamp({format: 'YYYY-MM-DDTHH:mm:ss'}),
    format.json()
  ),
  transports: [new transports.File({filename: 'logs/new_combined.log'})]
})

logger.info('haha')
输出为:

{"message":"haha","level":"info","timestamp":"2019-01-03T11:13:32"}
我想调整输出顺序,使
时间戳
提前,然后是
级别
,然后是
消息
,如下所示:

{"timestamp":"2019-01-03T11:13:32","level":"info","message":"haha"}
怎么做


谢谢

这里有一种方法可以使用
winston.format.printf

format: format.combine(
    format.timestamp({format: 'YYYY-MM-DDTHH:mm:ss'}),
    format.printf(info => `${JSON.stringify({timestamp: info.timestamp, level: info.level, message: info.message})}`)
  )

这里有一种方法可以使用
winston.format.printf

format: format.combine(
    format.timestamp({format: 'YYYY-MM-DDTHH:mm:ss'}),
    format.printf(info => `${JSON.stringify({timestamp: info.timestamp, level: info.level, message: info.message})}`)
  )