背景
在现代 Web 应用程序中,HTTP 事件和指标记录是一项至关重要的任务。在前端项目中,我们需要追踪下列指标:
- 客户端浏览器类型和版本
- 访问者的IP地址
- 响应时间
- HTTP状态码
- 和其他信息
为了实现这些记录,开发者需要使用一个好的服务器框架和监控组件。在这篇文章中,我们将探讨如何使用 Hapi 和 Good 实现 HTTP 事件和指标记录。
Hapi
开发者们对于 Hapi 的印象通常是高度可扩展的、模块化的、具有良好的插件支持以及出色的 API 风格。Hapi 可以用于构建 Web 应用程序和 API。
这里,我们将讨论如何使用 Hapi 实现 HTTP 事件和指标记录。首先,我们需要用 npm
安装 Hapi。
npm install --save hapi
接下来,我们需要创建一个简单的 Hapi 服务器。
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - --- ------------- ----- ----- ----- ----------- --- -------------- ------- ------ ----- ---- -------- --------- -- -- - ------ ------- -------- - --- ---------------------- -- - ------------------- ------- ----- ----------------- ---
这个简单的服务器将返回 Hello, World!
,它监听在 localhost:3000
上。现在,我们需要添加 Good 插件来实现 HTTP 事件和指标记录。
Good
Good 是一个用于将 Hapi 事件和指标输出到多个目标(包括控制台、日志文件、InfluxDB、StatsD 等)的插件。我们可以用 npm
安装它。
npm install --save good
接下来,我们需要修改服务器代码。首先,我们需要加载 Good 日志记录器插件,它将输出日志消息到控制台。
-- -------------------- ---- ------- ----- ---- - ---------------- ----- ------ - --- ------------- ----- ----- ----- ----------- --- -------------- ------- ------ ----- ---- -------- --------- -- -- - ------ ------- -------- - --- ----------------- ------- ----- -------- - ---------- - -------- -- ------- -------------- -- --------- - - ---------- -- - ---------------------- -- - ------------------- ------- --- --------------------- --- ---------------- -- - ----------------------- ------- ---
接下来,我们需要添加 Good 插件的配置选项。下面是一个示例配置:
-- -------------------- ---- ------- - ------------ - ---------- -- --------- --------------- ------- ---------- ------- -- ----------- ---- ------ --- -- -- - --------- -------------- -- --------- - -
这个配置将输出所有的请求和响应事件以及服务器日志。Good 插件将这些事件和信息输出到控制台或其他目标上。
在提交请求之后,Good 将会返回一个包含请求ID的响应。请求ID可以用于检索该请求的详细信息。下面是一个示例响应:
-- -------------------- ---- ------- - ---------- - --------- ------ ------- ---- ---------- - ------------- ------------ -------- -- ----- ------ ---- ------------------ ------- ---- ------ -------------------- --------------- ------------- ------------- --------- ------ ------------------ ------ -------- --- -- ------- ---- -- ----------- - ------------- ---- ---------- ------- -------- ---------- -- -- ------ -- -
总结
在本文中,我们学习了如何使用 Hapi 和 Good 实现 HTTP 事件和指标记录。我们首先创建了一个简单的 Hapi 服务器,然后添加了 Good 插件以输出事件和指标。最后,我们学习了如何解析 Good 插件输出的请求ID以检索详细信息。
随着 Web 应用程序的复杂性不断增加,HTTP 事件和指标记录也变得越来越重要。通过使用 Hapi 和 Good,我们可以轻松地实现这些记录。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65a090f5add4f0e0ff8d6bd0