Express.js 中使用 Morgan 实现请求日志记录的完整教程

在 Express.js 应用程序中,记录请求日志是非常重要的,因为它可以帮助我们跟踪应用程序的性能和问题。Morgan 是一个流行的 Node.js 请求日志中间件,它可以帮助我们轻松地记录请求日志。

在本文中,我们将介绍如何在 Express.js 应用程序中使用 Morgan 实现请求日志记录。我们将讨论 Morgan 的基本用法、配置选项以及如何将其与 Express.js 应用程序集成。

安装 Morgan

首先,我们需要安装 Morgan。在终端中运行以下命令:

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

基本用法

在 Express.js 应用程序中使用 Morgan 非常简单。我们只需要在应用程序中引入 Morgan 和 Express,然后将 Morgan 作为中间件使用即可。

以下是一个最基本的使用 Morgan 的示例:

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

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

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

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

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

在上面的示例中,我们使用了 Morgan 的 combined 格式来记录请求日志。这个格式包含了请求的 IP 地址、HTTP 方法、URL、状态码、响应时间和响应大小等信息。

现在,我们可以启动应用程序并访问首页。在终端中,我们应该可以看到类似于以下的请求日志:

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

配置选项

Morgan 提供了很多配置选项,可以帮助我们自定义请求日志的格式和内容。以下是一些常用的选项:

  • format:自定义日志格式的函数或预定义格式的名称。
  • skip:一个函数,用于判断是否记录该请求的日志。
  • stream:一个可写流,用于将日志输出到文件或其他地方。
  • immediate:一个布尔值,用于指定是否在请求开始时记录日志。

以下是一个使用自定义格式的示例:

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

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

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

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

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

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

在上面的示例中,我们使用了自定义格式 :method :url :status :response-time ms :custom,其中 :custom 是一个自定义的占位符,它返回了固定的字符串 'custom log'

现在,我们可以启动应用程序并访问首页。在终端中,我们应该可以看到类似于以下的请求日志:

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

集成到 Express.js 应用程序中

通常情况下,我们需要将 Morgan 集成到 Express.js 应用程序中,以便在整个应用程序中记录请求日志。以下是一个将 Morgan 集成到 Express.js 应用程序中的示例:

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

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

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

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

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

在上面的示例中,我们使用了 app.use 方法将 Morgan 中间件注册到应用程序中。这样,所有的请求都会被记录到日志中。

总结

在本文中,我们介绍了如何在 Express.js 应用程序中使用 Morgan 实现请求日志记录。我们讨论了 Morgan 的基本用法、配置选项以及如何将其与 Express.js 应用程序集成。希望这篇文章对你有所帮助!

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65f91651d10417a2224d80f1