简介
microservice-logging 是一个 Node.js 服务的日志记录库,可用于记录应用程序和容器的日志。它拥有以下功能:
- 可将日志记录到控制台、文件、MongoDB、Elasticsearch 等多种目的地。
- 可自定义日志格式、级别和位置。
- 适用于微服务架构。
安装
在 npm 中安装 microservice-logging:
npm install microservice-logging
使用
在应用程序中导入 microservice-logging:
const logging = require('microservice-logging');
您可以初始化日志器的实例,来配置日志设置。以下是一个基本的日志记录示例:
-- -------------------- ---- ------- ----- ------ - ---------------------- -------- --------- ------ -------- ----------- - --- ----------------------------- -- --- -------------------------- ----------------------
上面的例子中,我们通过 createLogger()
方法创建了日志器的实例,并设置了应用程序名称、日志级别和日志目的地(在这里是控制台)。然后我们使用 logger.debug() 和 logger.error() 方法来记录日志。
当运行代码时,将显示类似以下内容的输出:
[my-app] debugging [my-app] error
自定义日志格式
您可以创建可重用的 log formats 实例以及提供自定义格式的实例作为选项。以下是一个自定义实例:
-- -------------------- ---- ------- ----- ------------ - -------------------------- -- - ------ ------ --------------------- --------------- ------------------ --- ----- ------ - ---------------------- -------- --------- ------ -------- -------- - ------------- -- ----------- - --- ----------------------------- -- --- --------------------------
上面的例子中,我们定义了一个名为 customFormat
的新格式,它包括一个时间戳、日志级别和日志消息。然后,我们将自定义格式添加到日志格式数组中,然后再创建日志器实例并使用自定义格式。
当运行代码时,将显示类似以下内容的输出:
2020-09-15T07:54:34.345Z [debug: debugging]
将日志记录到文件中
我们可以将日志记录到文件中,微服务日志记录库提供了这样的功能。我们使用 transports
选项来实现此目的,它接收一个数组并指定日志应该流向的通道,我们将使用 FileTransport
将日志记录到文件中:
-- -------------------- ---- ------- ----- ------ - ---------------------- -------- --------- ------ -------- -------- - ---------------------- -- ----------- - --- ------------------------- --------- ---------- ------- ----------------------- --------------------------- ---------------------- -- --- -- --- --------------------------
上面的例子中,我们创建了一个文件名为 app.log
的新文件,并将 FileTransport
添加到日志传输数组中。我们还提供了一个格式选项来定义 JSON 日志格式。
当运行代码时,将显示类似以下内容的输出:
{"timestamp":"2020-09-15T08:00:40.931Z","level":"debug","message":"debugging"}
将日志记录到 MongoDB 中
您可以将日志流式传输到 MongoDB 数据库中。我们使用 MongoDBTransport
来记录日志到 MongoDB 中:
-- -------------------- ---- ------- ----- ------ - ---------------------- -------- --------- ------ -------- -------- - ---------------------- -- ----------- - --- ---------------------------- --------- --------------------------------- --- -- --- --------------------------
上面的例子中,我们创建了一个新的 Mongo 数据库来存储日志记录,并在 MongoDBTransport
选项中指定了 URL。
总结
microservice-logging 是一个用于 Node.js 服务的日志记录库,提供了多种日志记录选项和级别。我们学习了如何使用和自定义这个库。它可以让您更好地记录和管理微服务应用程序的日志输出。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f471d8e776d08041005