npm 包 magnet-pino 使用教程

阅读时长 4 分钟读完

什么是 magnet-pino

magnet-pino 是一个可以快速集成 Pino 日志记录的 npm 包,它能够自动捕捉你的日志信息并将其写入文件或者输出到控制台。magnet-pino 还支持多个日志记录上下文,包括远程调用和异常崩溃日志。

安装 magnet-pino

使用 npm 进行安装:

使用 magnet-pino

下面是一个简单的使用示例:

以上代码将输出以下内容到终端:

通过 magnetPino 模块调用 .log() 方法来生成一个 Pino 日志记录器。在 .log() 方法调用中,你可以传入日志上下文的配置项,其中 level 表示日志信息的级别。详细的日志级别说明可以参考 Pino 文档。

默认情况下,magnet-pino 日志记录器将输出到标准输出流,如果需要将日志信息记录到文件中,可以通过以下方式:

此时日志信息会输出到指定的文件中(app.log),并在每日凌晨0点自动创建一个归档文件(app.log.2021-05-19)。

magnet-pino 配置项

magnet-pino 的全局配置项如下:

  • level: string,表示日志级别,默认为 info。
  • logToFile: boolean,表示是否记录日志到文件中,默认为 false。
  • fileName: string,表示记录日志到文件中的文件名,默认为 magnet-pino.log。
  • fileMaxSize: string/number,表示单个日志文件的最大大小,默认为 10MB。
  • fileMaxAge: string,表示单个日志文件的最长保留时间,默认为 1d。
  • compress: boolean,表示是否启用 gzip 压缩归档文件,默认为 true。

其它 Usage 帮助

除了一些基本的使用方法之外,magnet-pino 还支持一些特定的 Pino 格式化、过滤等功能。具体使用可以通过以下方式:

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

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

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

在以上代码中,我们指定了 magnet-pino 的一些详细配置,比如日志输出格式为 json,过滤了 req.body.password 这个字段,同时我们也对日志记录器的上下文数据进行了序列化,使得其能够正确输出 req 和 res 的信息。

结论

使用 magnet-pino,我们可以非常方便地在应用程序中集成 Pino 日志记录器。它支持几乎所有 Pino 的功能,并提供了一些特殊的配置项来满足更复杂的应用场景。您可以查看 magnet-pino 的源码了解更多细节。

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

纠错
反馈