Hapi 和 Good 实现 HTTP 事件和指标记录

阅读时长 5 分钟读完

背景

在现代 Web 应用程序中,HTTP 事件和指标记录是一项至关重要的任务。在前端项目中,我们需要追踪下列指标:

  • 客户端浏览器类型和版本
  • 访问者的IP地址
  • 响应时间
  • HTTP状态码
  • 和其他信息

为了实现这些记录,开发者需要使用一个好的服务器框架和监控组件。在这篇文章中,我们将探讨如何使用 Hapi 和 Good 实现 HTTP 事件和指标记录。

Hapi

开发者们对于 Hapi 的印象通常是高度可扩展的、模块化的、具有良好的插件支持以及出色的 API 风格。Hapi 可以用于构建 Web 应用程序和 API。

这里,我们将讨论如何使用 Hapi 实现 HTTP 事件和指标记录。首先,我们需要用 npm 安装 Hapi。

接下来,我们需要创建一个简单的 Hapi 服务器。

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

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

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

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

这个简单的服务器将返回 Hello, World!,它监听在 localhost:3000 上。现在,我们需要添加 Good 插件来实现 HTTP 事件和指标记录。

Good

Good 是一个用于将 Hapi 事件和指标输出到多个目标(包括控制台、日志文件、InfluxDB、StatsD 等)的插件。我们可以用 npm 安装它。

接下来,我们需要修改服务器代码。首先,我们需要加载 Good 日志记录器插件,它将输出日志消息到控制台。

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

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

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

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

接下来,我们需要添加 Good 插件的配置选项。下面是一个示例配置:

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

这个配置将输出所有的请求和响应事件以及服务器日志。Good 插件将这些事件和信息输出到控制台或其他目标上。

在提交请求之后,Good 将会返回一个包含请求ID的响应。请求ID可以用于检索该请求的详细信息。下面是一个示例响应:

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

总结

在本文中,我们学习了如何使用 Hapi 和 Good 实现 HTTP 事件和指标记录。我们首先创建了一个简单的 Hapi 服务器,然后添加了 Good 插件以输出事件和指标。最后,我们学习了如何解析 Good 插件输出的请求ID以检索详细信息。

随着 Web 应用程序的复杂性不断增加,HTTP 事件和指标记录也变得越来越重要。通过使用 Hapi 和 Good,我们可以轻松地实现这些记录。

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

纠错
反馈