简介
winston-sherlock 是基于 winston 的一个 npm 包,在日志输出方面比 winston 更加友好。winston-sherlock 可以输出非常详细的信息,例如:环境变量、进程信息、请求路径、请求参数、请求头部信息等等,非常适用于需要深入调试的场景。
安装
使用 npm 进行安装:
npm install --save winston-sherlock
使用
先来看一下使用 winston-sherlock 输出一个简单的日志:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- -------- - ---------------------------- ----------------------------------- ------ ------- ----------- - --- ---------------------------- - ---- -------------------- -------------------
如果你执行上面那段代码,你将会看到如下输出日志:
-- -------------------- ---- ------- ---------- -------- ------- ------ ---------------- - ------------ ----------- - ------- --- ---- - ------- ---- ---------------------- - ------- --- - ------ - ----- ------ - - -------- - - ----- ----------------- - ----------- ------------- - ---------------- ------------ - ---------------------------- ---- - ------------- ------------ ----------- ----- --- -- - -------- ------------------ ------- ---- ------ -------------------- --------------- - ------- ------------------------------------------------------------------------------------------------------------------------------------------ - ----------------- ------- - ----------------- ----------- - ----------------- ----- - ----------------- ----------- - ------------------ ------ -------- ---- - ------------------ ----------------- - ------- ----- - -
我们会发现,winston-sherlock 输出的信息都比 winston 更加详细和友好,下面一段代码我们来详细探究一下 winston-sherlock 的使用。
-- -------------------- ---- ------- ----- ------- - ------------------- ----- -------- - ---------------------------- -- -- ------- --- ---------------- ---- ----- ------- - - ------ ------- ----------- - --- ---------------------------- - -- -- --- ------- ----- ----- ------ - ------------------------------- -- --- ------ -- ------- --- ------------------- - ----- -- - -- -- ------- --- ----- ------- - ----------------------------- -- - ------- ----- ------ - ------------------------- --------- - -- --- ------ -- -------- --- --------------------- - ----- -- - -- -- -------- --- ----- -------- - ------------------------------ -- - -------- ----- ------ - -------------------------- ---------- - -- ------ ----- --- - --------------------- ------------- ---- ----- -- - -- - ------ ---- ------- --- ------------------------- ------- --- ------------ ----- ---- -- - -- - ------ ---- -------- --- --------------------------- ---------------- ------------------- --- -- ---- ------------ ------ ------- -------- -------- --------- ----- ---------------- ---
这段代码实现了输出 express 应用的请求和响应信息,下面我们来逐步解析这段代码:
首先,我们定义 winston 加入到 winston-sherlock 的内容,这与使用 winston 相似。
接着,我们使用 sherlock.createLogger(options) 创建一个 winston-sherlock 的 logger 。
然后,我们在 logger 中加入了手动添加 request 和 response 信息的函数 addRequestIn 和 addResponseOut。
最后,我们输出日志,并手动为 logger 添加 request 和 response 的信息,将它们保存在 meta 中。
在使用 winston-sherlock 输出日志之后,我们可以在日志中看到如下的信息:
-- -------------------- ---- ------- ---------- -------- ------- ------- ------- - -------- - - ---------- --------------------------------------- - ---- ---- - ------- ------ - ------ --- - -------- - - ------- ----------------- - ------------- ----- - - - - - --------- - - ----------- ---- - -------- - - --------------- ----------- --------------- - ----------------- ----- - ------- ------------------------------------ - - - -
总结
本文为大家详细讲解了 winston-sherlock 的使用,从简单的输出日志到详细的日志信息,希望本文能够帮助大家更好地使用 winston-sherlock 进行开发和调试。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671128dd3466f61ffe489