介绍
morgan-json 是一个 npm 包,提供了一种方便的方式来记录 Express 应用程序的 HTTP 请求和响应信息。它可以生成 JSON 格式的日志,以帮助我们更好地了解应用程序的性能和行为。
安装
要使用 morgan-json,您需要先将其安装为依赖项:
npm install morgan-json --save
使用
基础用法
要记录请求和响应信息,只需在 Express 应用程序中添加以下代码即可:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ----------------------- ----- --- - ---------- ----- ------------ - ------------ ------ -------- ---- -------- --- ------------------------ ------------------------------ ------------ ----- ---- -- - --------------- --------- --- ---------------- -- -- - -------------------- --- --------- -- ---- -------- ---
在上面的示例中,我们首先导入 morgan-json
包,然后创建一个 morgan format(格式),并将其传递给 morgan
中间件。这个格式描述了我们想要记录的信息,其中 :method
表示 HTTP 方法,:url
表示 URL,:status
表示状态码。
配置选项
morgan-json
还包括许多附加选项,可用于自定义日志格式。以下是一些示例:
-- -------------------- ---- ------- -- ------- ----- ------------ - ------------ ------ -------- ---- --------- ----- ------------- ------------ -------------- ---------- ----- ----------- ----- --- -- -------- ---- ----- ------------ - ------------ ------ -------- ----- --- -- --------- ----- ------------ - ------------ ------ --------- --- -- ---------- ----- -- - -------------- ----- ---- - ---------------- ----- --------- - ----------------------------------------- -------------- - ------ --- --- ----- ------------ - ------------ ------- --------- ---
高级用法
morgan-json
还支持自定义和扩展,以满足特定的日志需求。以下是一些示例:
添加自定义字段
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ----------------------- ----- --- - ---------- ----- ------------ - ------------ ------ -------- ---- --------- ------- - ----- ----- -- -------- - ----------- - -- - --- ------------------------ ------------------------------ ------------ ----- ---- -- - --------------- --------- --- ---------------- -- -- - -------------------- --- --------- -- ---- -------- ---
在这个示例中,我们添加了一个 user
字段,该字段包含当前用户的 ID(如果存在)。这是通过 morgan 的 tokens
选项实现的。
添加自定义事件
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---------- - ----------------------- ----- --- - ---------- ----- ------------ - ------------ ------ -------- ---- --------- ------- - ------------- -- -- -------------------- ---------- --------------- -- -- --------------------- ---------- - --- ------------------------ ------------------------------ ------------ ----- ---- -- - --------------- --------- --- ---------------- -- -- - -------------------- --- --------- -- ---- -------- ---
在这个示例中,我们添加了两个自定义事件:requestStart
和 responseFinish
。这些事件将在请求开始和响应结束时触发,可以用于记录其他信息或执行其他操作。
结论
使用 morgan-json
,我们可以轻松地生成有用的日志,
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/52738