javascript - 如何在express js中添加时间戳?

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

我尝试为我的所有请求添加时间戳。我为此使用了 morgan ,并且如下所示,

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,这是我不想要的。有人可以建议我帮忙吗。如果建议的任何新模块也是一个很好的解决方案对我来说。谢谢。

最佳答案

您询问如何使用 Morgan 而不是expressjs 获取时间戳。您可能应该适本地重新标记问题。

无论如何,morgan offers some predefined tokens您在构造对象时使用它来设置它输出的字符串。如果您对时间戳感兴趣,请使用app.use(morgan(':date[format]'));来构造对象,其中format是clf (打印如“27/Apr/2017:12:00:00 +0000”,iso (打印如“2017-04-27T12:00:00.000Z”) ,或 web (输出如“Thu, 27 Apr 2017 12:00:00 GMT”)。还存在其他标记,例如用于响应的 HTTP 状态代码的 :status:url 作为请求的 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
}

关于javascript - 如何在express js中添加时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43670082/

相关文章:

javascript - 使用 jQuery 从 NodeJS 服务器请求数据

javascript - 使用 javascript 或 jquery 中的 print 获取打印机的输出

javascript - 在 Bokeh 中显示裁剪后的图像

javascript - 使用 JavaScript 循环访问 APEX 应用程序项目

node.js - 使用回调返回字符串而不是 HTML 来表达渲染函数

node.js - Express Passport (node.js) 错误处理

javascript - 由 Node JS 服务器返回时无法访问对象的属性

node.js - GraphQL 中 `schema` typedef 有什么用?

model-view-controller - 这是使用 MVC 模式和 Express.js 的好方法吗?

javascript - Passport 身份验证回调挂起