我使用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中是否有任何规定可以提供任何帮助将非常感谢
答案 0 :(得分:43)
时间戳选项可以是一个函数,它返回您希望将其保存为...
第4行:
winston.add(winston.transports.Console, {'timestamp':function() {return '111111111'; },'colorize':true});
答案 1 :(得分:3)
为了获得好结果,您可以使用momentjs:
const moment = require('moment')
...
...
timestamp: () => {
return moment().format('YYYY-MM-DD hh:mm:ss')
}
答案 2 :(得分:0)
要更改 winston 日志格式的时间戳格式,我们可以将字符串或返回字符串的函数作为参数传递给 winston.format.timestamp(format)
带格式参数的函数。另外,我们可以使用组合函数来自定义日志格式
const LOG_FORMAT = WINSTON.format.combine(
WINSTON.format.align(),
WINSTON.format.timestamp({format:'DD-MM-YYYY T hh:mm:ss.sss A'}),
WINSTON.format.printf(({ level, message, timestamp, label }) => {
return `[ ${level.toUpperCase()} | ${timestamp} | LOG:${message} ]`;
})
)
const APP_LOGGER = WINSTON.createLogger({
format: LOG_FORMAT,
transports: [
new WINSTON.transports.Console(),
new WINSTON.transports.File({
filename: './logs/app.log'
})
]
})