我尝试为我的所有请求添加时间戳。我使用了摩根,我包括如下,
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,我不想要。任何人都可以建议我帮忙。我建议任何新的模块也是一个很好的解决方案对我来说谢谢。
答案 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
}