Morgan记录器未正确记录日期或时间



我的node.js应用程序中的记录器没有正确记录日期或时间。我使用morgan作为日志模块,使用即时时区来正确记录时区中的日期和时间(太平洋体育场时间(。昨天,它按照我设置的格式记录了日期和时间,但今天没有。

以下是使用即时时区的morgan日期令牌的代码:

morgan.token('date', (req, res, tz) => {
return moment().tz("America/Los_Angeles").format('YYYY-MM-DD, HH:mm a');
});

下面是我在morgan.format((中使用日期标记的代码:

morgan.format('logFormat', '[:date[America/Los_Angeles]], :resource, :remote-addr, :status, :response-time ms');

昨天,我的请求以以下格式记录:

〔2018-07-31,14:57下午〕,欢呼,:140104.144毫秒

今天,所有的东西都被这样记录:

[YYYY-MM-DD,HH:MM a],欢呼,:140145.995 ms

我所做的唯一更改是向应用程序添加新的路由,但每个日志中间件都会根据所使用的路由记录到一个单独的文件中。有人知道为什么我的日期标记不再显示日期吗?

MomentJS记录时区的morgan.token('date'...部分对我来说很好!

我敢打赌这是自定义令牌格式中的语法错误。根据morgan-docs的说法,如果不需要传递参数,可以使用带有半列的自定义令牌格式,比如:date。因此,简单地尝试使用:

morgan.format('logFormat', ':date, :resource, :remote-addr, :status, :response-time ms');

这个问题可以帮助我解决问题。谢谢

这对我来说很合适:

morgan.token('date', (req, res, tz) => {
return moment().tz(tz).format('YYYY-MM-DD HH:mm:ss');
})
morgan.format('myformat', :date[Asia/Taipei] | :method | :url | :response-time ms');

app.use(morgan('myformat'))

相关内容

  • 没有找到相关文章

最新更新