npm 包 @aptoma/hapi-log 使用教程

介绍

在前端开发中,日志是非常重要的,可以帮助我们快速定位问题,提高开发效率。而 @aptoma/hapi-log 提供了一种很方便的日志记录方式,本文将详细介绍如何使用它。

安装

使用 npm 安装:

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

使用

在 Hapi 服务启动时,通过 Hapi 服务器实例(server)的方法 register(),将插件(plugin)注册到服务中:

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

以上代码定义了一个 插件(plugin)到 Hapi 服务中,该插件的作用是记录所有的请求日志以及响应日志,并输出到控制台。

其中,@hapi/good-squeeze@hapi/good-console 都是插件依赖。Squeeze 是一个 good 所提供的插件,它可以根据我们设置的参数,筛选出我们需要记录的日志,这里我们是需要筛选所有的日志,所以设置了 { log: '*', response: '*' }@hapi/good-console 是一个将日志输出到控制台的插件。

如果我们需要将日志记录到文件中,可以这样写:

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

以上代码使用 rotating-file-stream 模块将日志记录到文件中,每天自动滚动日志文件。

示例代码

为了更好地理解,这里提供一个完整的示例,可以直接运行并查看效果:

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

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

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

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

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

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

------

启动项目:

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

浏览器打开 http://localhost:3000/,可以在控制台看到如下输出:

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

并且在项目根目录下的 logs/access.log 文件中会记录请求和响应的日志。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/151876


猜你喜欢

  • npm 包 @types/html-webpack-plugin 使用教程

    介绍 html-webpack-plugin 是一款可以根据模板生成 HTML 文件的插件,能够自动处理 HTML 文件中 CSS 和 JavaScript 的引入、压缩、代码注入等一系列操作,使得前...

    5 年前
  • npm 包 @types/extract-text-webpack-plugin 使用教程

    简介 在前端开发中,Webpack 是一个非常流行的打包工具。Extract Text Webpack Plugin 是一个可以将 Webpack 打包后生成的 JS 和 CSS 分离的插件。

    5 年前
  • npm 包 @t2ym/polymer-cli 使用教程

    简介 如果您是一名前端开发人员,并且熟悉 Polymer 技术栈,那么您就会发现 @t2ym/polymer-cli 是一个非常有用的 npm 工具包。本文将介绍如何使用 @t2ym/polymer-...

    5 年前
  • npm 包 @nuxt/typescript-edge 使用教程

    介绍 在前端开发中,使用 TypeScript 非常流行。Nuxt.js 提供了使用 TypeScript 的解决方案,但是官方文档中的 TypeScript 版本可能会滞后于最新版本。

    5 年前
  • NPM 包 @nuxt/typescript 的使用教程

    Nuxt.js 是一个基于 Vue.js 的通用应用框架,可以帮助我们快速搭建 SSR 项目。在前端开发过程中,我们经常需要使用 TypeScript 来提高代码可读性和可维护性,因此 @nuxt/t...

    5 年前
  • npm 包 @nuxt/types 使用教程

    在前端项目中,构建工具是必不可少的。其中,Nuxt.js 是一个基于 Vue.js 的轻量级服务端渲染框架,它可以帮助我们快速搭建高性能、SEO 友好的应用。而 @nuxt/types 就是 Nuxt...

    5 年前
  • npm 包 @gitzone/tsbundle 使用教程

    简介 @gitzone/tsbundle 是一款 TypeScript 应用打包工具,旨在优化 TypeScript 应用构建速度及打包体积。它基于 Rollup 打包引擎封装,提供了多种压缩策略以及...

    5 年前
  • npm 包 @erect/server 使用教程

    简介 @erect/server 是一种快速搭建前端开发服务器的 npm 包,可以通过简单的配置快速搭建一个本地开发服务器,支持自动刷新、HMR 等功能,适用于前端开发、模板制作、静态页面展示等场景。

    5 年前
  • npm 包 @types/relateurl 使用教程

    在前端开发中,处理 URL 地址是必不可少的操作。在 JavaScript 中,我们通常使用一些库来完成这项工作,其中之一便是 relateurl。但是,由于 TypeScript 和 JavaScr...

    5 年前
  • npm 包 @types/clean-css 使用教程

    在前端开发中,常常需要使用 CSS 压缩工具,以便减少 CSS 文件的大小、提升页面加载速度。其中,clean-css 是一个非常流行的开源的 CSS 压缩工具,它可以大幅度减小 CSS 文件的体积,...

    5 年前
  • NPM包img-switcher使用教程

    介绍 img-switcher是一个轻量级的前端库,可以帮助开发者在网页上实现图片不同状态间的切换。它可以构建一个图片数组,通过调用方法来控制显示不同图片,可以用于动态显示网页上的图片,如以下示例: ...

    5 年前
  • npm 包 gulp-web-build 使用教程

    作为一个前端开发者,必须要掌握一些自动化构建工具,而 gulp.js 是其中最为流行的一个。而 gulp-web-build 这个 npm 包则提供了一些方便快捷的方法来构建前端项目。

    5 年前
  • npm 包 gulp-me 使用教程

    简介 在前端开发中,自动化构建工具是不可或缺的一部分。Gulp 是一个流式构建工具,基于 Node.js 平台构建,可以帮助开发者简化前端构建流程。gulp-me 是一个 Gulp 插件,它可以帮助我...

    5 年前
  • npm 包 @neo-one/react-common 使用教程

    前言 在前端开发中,我们常常需要使用一些通用的工具和组件来实现我们的功能和页面效果。而 npm 是一个非常方便和强大的包管理器,可以让我们轻松地使用这些工具和组件。

    5 年前
  • npm 包 @neo-one/react 使用教程

    @neo-one/react 是一个用于搭建分布式应用程序的 React 库。它提供了一些强大的工具和组件,可以帮助你开发高质量的 Dapp(分布式应用)。在本文中,我们将介绍如何使用 @neo-on...

    5 年前
  • npm 包 @neo-one/node-rpc 使用教程

    简介 在以太坊网络中,Node.js 客户端可以通过 RPC(远程过程调用)与链上节点进行通信,实现数据查询、交易发送等操作。@neo-one/node-rpc 是 NeoOne 提供的 Node.j...

    5 年前
  • npm 包 @neo-one/node-protocol 使用教程

    简介 @neo-one/node-protocol 是一款针对 NEO 区块链的客户端库,它可以让开发者更加便捷地通过 Node.js 进行 NEO 区块链的开发和交互。

    5 年前
  • npm 包 @neo-one/driver 使用教程

    简介 @neo-one/driver 是一款 Node.js 模块,它是 NEO 区块链的 JavaScript 驱动程序,提供了一组 API,使得开发者可以轻松地在 JavaScript 中使用 N...

    5 年前
  • npm 包 @neo-one/client-node 使用教程

    在现代Web开发中,前端技术已经成为不可或缺的重要组成部分。随着Web应用程序变得越来越复杂,前端开发人员需要处理许多不同的编程任务,包括与服务器通信、管理状态和处理用户输入等。

    5 年前
  • npm 包 @neo-one/client-full 使用教程

    在前端开发中,我们经常需要使用各种 npm 包来辅助我们完成项目。其中,@neo-one/client-full 是一个非常有用的 npm 包,它提供了一些针对区块链开发的特殊功能,使得我们在创建去中...

    5 年前

相关推荐

    暂无文章