Node.js 温斯顿:如何更改时间戳格式

Node.js 温斯顿:如何更改时间戳格式,node.js,winston,Node.js,Winston,我使用winston在node.js中添加日志详细信息,我使用以下过程添加日志 var winston = require('winston'); winston.remove(winston.transports.Console); winston.add(winston.transports.Console, {'timestamp':true,'colorize':true); winston.log('info','jjjj'); 我得到的结果是 2012-1

我使用winston在node.js中添加日志详细信息,我使用以下过程添加日志

 var winston = require('winston');         
 winston.remove(winston.transports.Console);
 winston.add(winston.transports.Console, {'timestamp':true,'colorize':true);
 winston.log('info','jjjj');
我得到的结果是

2012-12-21T09:32:05.428Z - info: jjjj

我需要为mytimestamp指定一种格式,winston中是否有这样做的规定任何帮助都将不胜感激

时间戳选项可以是一个函数,返回您希望保存为的内容

第4行:

winston.add(winston.transports.Console, {'timestamp':function() {return '111111111'; },'colorize':true});

此处来源:

要获得良好的效果,您可以使用:

winston@3版本

winston.createLogger({
  format: winston.format.combine(
    winston.format.timestamp({format: 'YYYY-MM-DD HH:mm:ss'}),
    winston.format.prettyPrint()
  ),
  transports: [
    new winston.transports.Console()
  ]
})
要支持时区,您需要将
格式更改为winston将调用的函数

const timezoned = () => {
  return new Date().toLocaleString('en-US', {
    timeZone: 'Asia/Shanghai'
  });
};

const logger = createLogger({
  format: combine(
    timestamp({
      format: timezonedTime
    })
  ),
  transport: [
    new transports.Console(),
  ]
});

你知道你在2012年12月21日12:21回答了这个问题吗?!还有一个关于日期格式的问题:)@yuyuyue007在winston的0.9.0版本中似乎适用于文件传输。如何更改时区。Winston默认以UTC格式显示时间戳?我已经更新了答案。这是我在学习温斯顿时写的一篇老文章。
const timezoned = () => {
  return new Date().toLocaleString('en-US', {
    timeZone: 'Asia/Shanghai'
  });
};

const logger = createLogger({
  format: combine(
    timestamp({
      format: timezonedTime
    })
  ),
  transport: [
    new transports.Console(),
  ]
});