npm 包 winston-sherlock 使用教程

阅读时长 7 分钟读完

简介

winston-sherlock 是基于 winston 的一个 npm 包,在日志输出方面比 winston 更加友好。winston-sherlock 可以输出非常详细的信息,例如:环境变量、进程信息、请求路径、请求参数、请求头部信息等等,非常适用于需要深入调试的场景。

安装

使用 npm 进行安装:

使用

先来看一下使用 winston-sherlock 输出一个简单的日志:

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

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

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

如果你执行上面那段代码,你将会看到如下输出日志:

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

我们会发现,winston-sherlock 输出的信息都比 winston 更加详细和友好,下面一段代码我们来详细探究一下 winston-sherlock 的使用。

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

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

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

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

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

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

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

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

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

这段代码实现了输出 express 应用的请求和响应信息,下面我们来逐步解析这段代码:

  1. 首先,我们定义 winston 加入到 winston-sherlock 的内容,这与使用 winston 相似。

  2. 接着,我们使用 sherlock.createLogger(options) 创建一个 winston-sherlock 的 logger 。

  3. 然后,我们在 logger 中加入了手动添加 request 和 response 信息的函数 addRequestIn 和 addResponseOut。

  4. 最后,我们输出日志,并手动为 logger 添加 request 和 response 的信息,将它们保存在 meta 中。

在使用 winston-sherlock 输出日志之后,我们可以在日志中看到如下的信息:

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

总结

本文为大家详细讲解了 winston-sherlock 的使用,从简单的输出日志到详细的日志信息,希望本文能够帮助大家更好地使用 winston-sherlock 进行开发和调试。

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

纠错
反馈