npm包express-informer使用教程

阅读时长 6 分钟读完

概述

在前端开发中,我们常需要利用Node.js建立后台服务。而express是Node.js最受欢迎的Web框架之一。express快速,极简,并且易于学习。但是在快速开发时,我们还需要一些工具来辅助我们完成数据处理、错误处理、日志记录等一系列操作。在这里,我们介绍一个npm包——express-informer

express-informer是一个express中间件,可以收集关于请求响应时间、错误信息、请求内容、请求头等信息,方便我们管理和调试开发。下面我们将详细讲解如何使用这个npm包。

安装

使用npm命令即可完成安装,这里我们安装最新版本:

安装完成后,在express应用中的代码中添加文档中代码即可。

使用方法

引入express-informer

引入express-informer后,需在express应用中使用它。如下定义一个express应用,同时添加informer

app.use()这行代码中添加的informer()就是将express-informer安装到应用中。此时,每次在客户端访问该应用,则会存储一些关于请求的信息。

调用inform方法

当添加informer()到express应用后,每个请求都会被记录并存储,我们可以通过调用inform方法打印这些请求的信息。

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------

----- -------- - ---------------------------- -- ------------------

--------------------

------------ ------------- ---- -
  ----- ---------- - ------------- -- ----------------
  -------------------- ------------
  --------------- --------
---

---------------- -------- -- -
  -------------------- --- --------- -- ---- --------
---

在以上示例代码中,我们在路由中调用中间件创建的req.inform()方法,获取存储的请求数据并将打印信息输出到控制台。

配置inform方法

在调用req.inform()时,还可以传递一个配置对象参数,如下所示:

-- -------------------- ---- -------
----- ------ - -
  ------ -----
  ------- -----
  -------- ---------------- -----------
  ----------- -----
  ------------- -----
  ---- ------
  ------- -----
  ------ -----
  ----- ------
  ------ ------
  ------ ----
--

----- ---------- - -------------------

我们可以根据具体的需求,在以上示例的配置对象中添加或删除相应的属性。

  • title:自定义标题,将会在打印信息的顶部
  • method:是否打印关于HTTP方法的信息
  • headers:从请求头中打印那些内容
  • statusCode:是否打印关于HTTP状态码的信息
  • responseTime:是否打印关于响应时间的信息
  • url:是否打印URL
  • origin:是否打印源信息
  • query:是否打印查询参数
  • form:是否打印POST、PUT或PATCH请求中的表单数据
  • files: 是否打印上传的文件详情
  • error:是否打印错误信息

在express应用中集成inform数据和WinsonJS

我们可以利用WinsonJS中间件将inform数据记录到Winson日志中。

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------

----- -------- - ---------------------------- -- ------------------
----- ------- - ------------------- -- ---------

----- ------ - ----------------------
  ------ -------
  ------- ----------------------
  ----------- -
    --- ------------------------- --------- ------------ ------ ------- ---
    --- ------------------------- --------- -------------- --
  -
--- -- --------

-------------------- -- -----

------------ ------------- ---- -
  ----- ---------- - ------------- -- ----------------
  -------------------- ------------ -- ---------
  --------------- --------
---

---------------- -------- -- -
  -------------------- --- --------- -- ---- --------
---

在以上示例代码中,我们用winston定义了一个logger,将config对象作为参数传递给inform方法,并通过logger.info()方法将日志记录下来。

总结

在开发中使用express-informer可以方便地得到请求的详细信息,便于后续定位问题。此外,与WinsonJS集成可以将数据存储,并进行更细致的调试。如果您对express-informer感兴趣,请前往npm官网查看文档。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005688981e8991b448e4760

纠错
反馈