如何将时间戳放在快递js中?

时间:2017-04-28 00:35:42

标签: javascript node.js express mean-stack node-modules

我尝试为我的所有请求添加时间戳。我使用了摩根,我包括如下,

if (process.env.NODE_ENV === 'development') {
    // Enable logger (morgan)
    app.use(morgan('common'));
  }

这导致我的控制台为,

::ssss:197.7.8.1 - - [Fri, 28 Apr 2017 00:28:29 GMT] "GET /assets/jqwidgets/styles/images/icon-right.png HTTP/1.1" 200 143
::ssss:197.7.8.1 - - [Fri, 28 Apr 2017 00:28:29 GMT] "GET /assets/jqwidgets/styles/images/icon-left.png HTTP/1.1" 200 139
::ssss:197.7.8.1- - [Fri, 28 Apr 2017 00:28:31 GMT] "GET /admin-get-users

从上面的结果我得到时间戳和互联网地址(:: ssss:197.7.8.10,我不想要。任何人都可以建议我帮忙。我建议任何新的模块也是一个很好的解决方案对我来说谢谢。

1 个答案:

答案 0 :(得分:1)

您正在询问如何获取Morgan的时间戳,而不是表达时间戳。您应该适当地重新提出问题。

无论如何,在构造对象时使用morgan offers some predefined tokens来设置它输出的字符串。如果您对时间戳感兴趣,请使用app.use(morgan(':date[format]'));构建格式为clf之一的对象(打印如" 27 / Apr / 2017 :12:00:00 + 0000",iso(打印如" 2017-04-27T12:00:00.000Z")或web(打印如&# 34;星期四,2017年4月27日12:00:00 GMT")。其他代币也存在,如:status代表响应的HTTP状态代码,或:url代表请求的网址。您发现自己有兴趣记录这些内容。在您发表评论后,您可以尝试app.use(morgan(':date[clf] ":method :url"'));app.use(morgan(':date[clf] ":url"'));

if (process.env.NODE_ENV === 'development') {
    // Enable logger (morgan)
    app.use(morgan(':date[clf] ":method :url"')); // prints date in same format as original Q
}