paint-brush
10 个最好的 Node.js 日志库经过@playerzero
43,834 讀數
43,834 讀數

10 个最好的 Node.js 日志库

经过 PlayerZero22m2023/02/15
Read on Terminal Reader

太長; 讀書

我们汇总了前 10 个 Node.js 日志记录库的列表,并为您提供了使用它们所需的代码。享受!
featured image - 10 个最好的 Node.js 日志库
PlayerZero HackerNoon profile picture
0-item

本博客将讨论使用日志库的价值,并列出我们为 Node.js 遇到的 10 个最受好评的日志工具。在@playerzero,我们经常使用 node.js 日志库来创建和管理日志事件。详细了解我们如何使用我们独特的方法来监控当今对前端和后端应用程序至关重要的内容 https://www.playerzero.app/


  • 皮诺

  • 温斯顿

  • 本扬

  • 摩根

  • 日志级别

  • Log4js

  • Npm日志

  • 咆哮

  • 示踪剂

  • 信号


从高层次的角度来看,Node.js 日志记录很重要,因为它可以帮助开发人员跟踪应用程序的事件和性能、诊断和修复问题、监控系统行为并做出明智的决策。日志记录提供应用程序活动的记录,允许开发人员识别和调试问题,了解用户行为,并提高系统的整体性能和稳定性。日志记录在生产环境中也很有用,可用于检测和修复错误、监控系统性能以及检测安全事件。

日志记录与跟踪

每当应用程序出现严重错误时,开发人员都可以选择通过堆栈跟踪来追踪其来源。但是……仅仅依靠堆栈跟踪只能描绘出一半的画面。跟踪将为您提供有关应用程序执行的信息,包括请求流、数据库查询、外部 API 调用和性能指标 - 这可能非常有用。通常,跟踪用于在粒度级别上了解应用程序的行为并识别性能瓶颈。


日志记录填充了图片的另一半。日志记录是记录与应用程序相关的消息和事件的过程,例如错误、警告、性能指标和调试信息。 Node.js 中的日志记录用于诊断问题、了解用户行为以及提高应用程序的整体性能和稳定性。它还提供应用程序中活动的记录,使开发人员能够识别和调试问题并做出更明智的决策。

为什么要为 Node.js 使用日志记录库?

您应该使用 Node.js 日志记录库的原因有几个:


  1. 改进的调试——日志库提供有关错误和问题的详细信息,使开发人员能够更有效地诊断和修复问题。
  2. 增强的可见性- 日志记录提供应用程序的行为和性能的清晰视图,允许开发人员做出明智的决策并改进系统。
  3. 更好的性能- 日志库可以针对性能进行优化,减少日志记录的开销并提高系统的整体性能。
  4. 集中式日志记录——许多日志记录库允许将日志写入集中式日志服务器,从而更容易收集、查看和分析日志数据。
  5. 定制——可以定制日志库以满足特定需求,例如定制日志级别、输出格式和过滤器。

记录级别

日志记录级别是一种对日志消息的重要性或严重性进行分类的方法。通常,有几个级别,从严重错误到信息性消息,每个级别都与一个数值相关联,该数值可用于过滤库中的日志消息。以下是最常见的级别:


FATAL日志级别

或许不出所料, FATAL日志级别是指示应用程序中出现严重错误的严重级别 - 这意味着具有FATAL级别的日志表明在没有开发人员干预的情况下应用程序无法继续正常运行。


ERROR日志级别

ERROR日志级别表示应用程序当前能够运行,但是遇到了问题。通常,这表明应用程序中的一项必需任务失败了——出现异常、意外行为或输入不正确。


WARN日志级别

WARN是一个没有ERROR严重的日志级别,但是,不应该被忽略。 WARN日志可用于主动识别问题并防止问题变得更严重,因为它们表明您的应用程序中的某些内容可能会成为更严重问题的催化剂。


INFO日志级别

INFO日志级别是日志系统中使用的一种日志消息,用于指示一般的信息性消息。它通常用于记录应用程序或系统中例行的、预期的事件,例如进程的启动、任务的完成或系统状态的更改。通常可以忽略这些警报,因为它们旨在确认应用程序是否正常工作。


DEBUG日志级别

通常, DEBUG日志级别提供仅在调试过程中有用的信息。 DEBUG日志是最详细的日志消息类型,提供应用程序内部工作的精细视图。 DEBUG日志的主要目的是帮助开发人员了解系统正在做什么、识别错误和问题以及诊断问题。

10 个最好的 Node.js 日志记录库以及如何开始使用它们

#1。皮诺

皮诺的好处

Pino 是一个历史悠久且非常流行的日志记录工具,在 Github 上拥有超过 10.9K 颗星,在 npm 上有数百万次下载。 Pino 是一个流行的 Node.js 日志记录库,因为它提供了几个关键特性,使其非常适合在 Node.js 应用程序中使用:


  • 快速- Pino 的设计目标是快速和轻便,并专注于性能。它对日志消息使用二进制格式,这使其能够快速高效地生成日志输出。

  • 结构化日志——Pino 以 JSON 格式记录消息,这样可以轻松解析、过滤和分析日志数据。这使得搜索、可视化和分析日志数据以及将日志数据集成到其他系统变得更加容易。

  • 易于扩展——Pino 被设计成高度可扩展的,并包含许多可用于添加附加功能的内置插件,例如将日志数据写入文件或将日志数据发送到远程服务器。

  • 低开销——Pino 是一个高效的 Node.js 日志库,因为它的资源利用率最低。 Pino 的日志记录过程逐渐积累消息,导致应用程序节流和每秒请求数减少。节流是一种技术,其中触发连接到事件的函数在指定时间范围内仅运行一次,即使事件被触发多次也是如此。

  • 传输- Pino 提供了多种发送日志的选项,包括写入文件、在控制台中显示以及利用 Sentry、Azure Application Insights 和 CouchDB 等平台。


要在 Node.js 应用程序中使用 Pino,请执行以下步骤:

安装皮诺

要安装 Pino,只需在新目录中运行以下命令即可安装它:

 npm install pino


导入- 在您的 Node.js 应用程序中,通过在文件顶部添加以下代码行来导入 Pino:

 const pino = require('pino');

使用皮诺

初始化——通过创建记录器实例来初始化 Pino,例如:

 const logger = pino({ level: 'info' });


此脚本在控制台上生成日志记录级别为INFO及以上的日志。


通过将级别设置为信息,Pino 将记录日志级别为INFOWARNERRORFATAL的消息。日志记录级别低于INFO的消息(例如DEBUG )将不会被记录。


此代码仅创建一个日志级别设置为 INFO 的 Pino 记录器实例。在您使用记录器实例记录内容之前,不会生成或显示任何日志消息。例如:

 logger.info('This is an info message');

这将在控制台上产生以下输出:

 {"level":30,"time":1624825088703,"msg":"This is an info message","pid":1234,"hostname":"my-machine"}


控制台上显示的记录数据包括日志级别、记录时的时间戳、记录的消息、日志的标识符和主机名。


日志记录- 您也可以使用logger实例在您的应用程序中记录其他消息。例如:

 logger.warn('This is a warning message'); logger.error('This is an error message');


输出- 默认情况下,Pino 记录到控制台。如果您想要更改输出,您可以使用我们之前提到的 Pino 的可用传输之一,例如写入文件、将日志发送到远程服务(如 Sentry)或使用 Azure Application Insights。更多信息,您可以参考 Pino 的“Known Transports”部分。

漂亮地安装 Pino

Pino 的pino-pretty基本 NDJSON 格式化程序功能是用于 Pino 日志的非常简单的格式化程序,并且易于设置。以下是启动和运行它的方法:


第 1 步- 通过在终端中运行以下命令,将 pino-pretty 作为依赖项安装在 Node.js 项目中:

 npm install pino-pretty


第 2 步- 通过在文件顶部添加以下代码行,在 Node.js 应用程序中导入pino-pretty

 const pino = require('pino'); const pinoPretty = require('pino-pretty'); const logger = pino({ level: 'info' }); logger.pipe(pinoPretty());


通过这两个代码片段,您已经安装了pino-pretty并将其设置为格式化您的 Pino 日志。现在您可以使用记录器实例在您的应用程序中记录消息,并且日志将以漂亮的、人类可读的格式显示在控制台上。


@RisingStack提供的如何使用最佳工具调试 Node.js中了解更多关于使用 Pino 进行调试的信息

#2。温斯顿

温斯顿福利

Winston 在 GitHub 上拥有超过 2 万颗星,是一个非常流行的 Node.js 日志记录库。由于其全面的功能集和易用性,Winston 是 Node.js 生态系统中独一无二的日志记录库。温斯顿脱颖而出的一些原因是:


  • 灵活——Winston 是高度可定制的,并提供多种日志记录选项和传输机制,允许将日志写入多个输出,例如控制台、文件或远程服务器。
  • 可查询的日志——Winston 提供了一个可查询的日志存档,这使得搜索和分析日志变得更加容易。
  • 易于使用- Winston 有一个简单易用的 API,可以轻松开始在 Node.js 应用程序中登录。它提供了一组最小的核心功能,同时还允许开发人员根据需要扩展和自定义日志记录功能。
  • 文档齐全- Winston 拥有全面的文档,提供有关其 API 的详细信息,并包含大量示例和教程,可帮助开发人员快速轻松地入门。
  • 社区驱动- Winston 是一个开源项目,拥有庞大而活跃的开发人员社区,这有助于确保该库得到良好维护、无错误并进行更新以跟上最新趋势和技术。

安装温斯顿

要在您的 Node.js 项目中安装 Winston,您可以通过在终端中运行以下命令来使用 npm 包管理器:

 npm install winston

使用温斯顿

安装完成后,您可以通过包含以下行在 Node.js 代码中导入和使用 Winston:

 const winston = require('winston');

然后,您可以使用 Winston 库来配置和创建您的日志记录实例,例如:

 const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winston.transports.Console() ] });

这将创建一个具有信息级别和控制台传输的记录器实例。您可以使用此记录器实例在您的应用程序中记录消息,例如:

 logger.info('Hello World');

这将使用 info 日志级别将消息Hello World记录到控制台。

Winston 中的日志记录级别

Winston 配备了六个默认日志记录级别,按照 RFC5424 文档中概述的指南进行安排。这些级别被指定为数字优先级,最高严重性被指定为最低数字。六个级别及其各自的优先级值是:


 { error: 0, warn: 1, info: 2, http: 3, verbose: 4, debug: 5, silly: 6 }


对于六个日志级别中的每一个,在 logger 对象上都有相应的方法:

 logger.error('error'); logger.warn('warn'); logger.info('info'); logger.verbose('verbose'); logger.debug('debug'); logger.silly('silly');


您还可以将表示日志记录级别的字符串传递给 log() 方法:

 logger.log('error', 'error message'); logger.log('info', 'info message');


loggerlevel属性指示哪些日志消息将传递到您配置的传输。例如,如果level属性设置为info ,则只会写入严重程度为info或更高的日志条目,而所有其他条目将被取消优先级。这意味着在当前配置中,只会输出级别为infowarnerror的日志消息。

#3。本扬

班扬的好处

Bunyan 是一个独特的 Node.js 日志库,因为它专注于使日志数据更加结构化和可读(他们通过将日志序列化为 JSON 对象而不是纯文本来实现这一点)。这就是 Bunyan 在 Github 上拥有 7k 星的原因:


  1. JSON 格式——与其他一些日志库不同,Bunyan 以 JSON 格式记录数据,使其更容易解析并与其他工具和平台集成。
  2. 灵活的日志记录级别- Bunyan 支持多个日志记录级别,具有灵活的选项来管理日志严重级别和阈值。
  3. 序列化- 在 Bunyan 中,存在一种称为序列化的功能,其中函数将 JavaScript 对象转换为 JSON 可表示的对象。这允许特定的记录器实例具有将日志记录字段名称链接到序列化函数的序列化程序。
  4. 易于使用的 API - Bunyan 为日志记录提供了一个简单易用的 API,使所有技能水平的开发人员都可以使用它。
  5. 插件和传输- Bunyan 支持各种插件和传输,例如控制台、文件、HTTP 和电子邮件,从而更容易自定义日志输出以满足特定需求和要求。

安装班扬

要安装 Bunyan,您可以在终端或命令提示符中运行以下命令:

 npm install bunyan


这将在您的 Node.js 项目中安装 Bunyan 库及其依赖项。安装后,您可以在代码中要求该库并开始使用它。

使用班扬

在您的项目中导入 Bunyan - 在 JavaScript 文件的顶部,添加以下行:

 const bunyan = require('bunyan');


创建记录器实例- 接下来,使用以下代码创建记录器实例:

 const logger = bunyan.createLogger({ name: 'my-app-name', level: 'info' });


在此示例中, name是您的应用程序的名称,level 指定您要查看的日志的最低级别。


记录消息——要记录消息,只需调用 Bunyan 的日志方法之一,例如 info、warn 或 error,然后传入您要记录的消息,如下所示:

 logger.info('This is an info log message'); logger.warn('This is a warn log message'); logger.error('This is an error log message');


运行您的代码- 最后,运行您的代码,您应该会在控制台中看到记录的消息。

Bunyan默认以JSON格式输出日志,方便使用日志管理工具解析分析日志。您还可以使用 Bunyan 的流选项自定义格式。

#4。摩根

摩根福利

出于多种原因,Morgan 是 Node.js 的独特日志库,主要是其作为中间件的独特定位。除其他原因外,它还非常受欢迎,在我们撰写本文时,GitHub 上有 7300 颗星。以下是摩根如此受欢迎的几个原因:


  1. 基于中间件- Morgan 在 Node.js Express 框架中作为中间件运行,使其易于集成到现有的基于 Express 的应用程序中。
  2. 可定制- Morgan 提供了广泛的定制选项,从日志格式到自定义令牌,允许开发人员根据他们的特定需求定制他们的日志。
  3. 基于流——Morgan 可以将日志数据写入各种输出流,包括控制台、文件,甚至远程服务器。
  4. 快速和轻量级- Morgan 设计为快速和轻量级,使其适用于性能至关重要的高流量应用程序。
  5. HTTP 请求日志记录——Morgan 专门用于记录 HTTP 请求和响应,这对于调试和分析 Web 服务器性能很有用。

安装摩根

首先使用 npm 安装 morgan 包:

 npm install morgan

使用摩根

完成安装过程后,您需要使用“require”函数导入库,然后将其作为中间件集成到您的 Express.js 应用程序中。


代码如下所示:

 var morgan = require('morgan'); app.use(morgan('dev'));


“dev”参数是 Morgan 提供的格式选项。 Morgan 提供五种不同的日志记录格式,包括:

  1. tiny的输出很小。
  2. short包括响应时间并默认缩写日志。
  3. dev提供简洁的颜色编码输出,供开发期间使用
  4. common还使用 Apache 组合日志输出。
  5. combined使用标准化的 Apache 组合日志输出。


在将 Morgan 集成到您的应用程序中时,您可以通过使用适当的参数在这些格式之间进行选择,如下所示:

 app.use(morgan('combined')); app.use(morgan('common')); app.use(morgan('dev')); app.use(morgan('short')); app.use(morgan('tiny'));

#5。日志级别

日志级别的好处

Loglevel 不如这里列出的其他一些选项受欢迎,在 Github 上有 2.4K 星,但它仍然是一个很棒的轻量级日志库。以下是 loglevel 是 Node.js 独特的日志记录库的几个原因:


  1. 最少的代码占用空间——loglevel 是一个非常轻量级的库,非常适合需要最少代码开销的情况。
  2. 动态日志级别- loglevel 提供了动态日志级别,它允许您在运行时更改日志级别,从而可以轻松地在不同级别的日志详细信息之间切换,而无需修改代码。
  3. 简单的 API - loglevel 的 API 很简单,提供了一种易于使用且灵活的方式来记录消息。
  4. 浏览器兼容性——loglevel 与 Node.js 和 Web 浏览器兼容,使其成为在各种环境中进行日志记录的多功能选择。
  5. 跨平台兼容性——loglevel 建立在 log4js 之上,这是一个广泛使用的日志库,确保跨平台的兼容性。

安装日志级别

要设置日志级别,您需要先使用 npm 安装它:

 npm install loglevel

使用日志级别

安装后,您可以将其导入 Node.js 项目并通过设置日志级别开始使用它:


 const log = require('loglevel'); log.setLevel(log.levels.ERROR);


通过将日志级别设置为ERROR,您指定仅记录严重级别为ERROR的日志消息。设置日志级别后,您可以使用以下方法记录不同级别的消息:


 log.trace('This is a trace message'); log.debug('This is a debug message'); log.info('This is an info message'); log.warn('This is a warning message'); log.error('This is an error message');


您设置的日志级别将决定哪些消息将被记录,哪些将被忽略。例如,如果日志级别设置为 info,则只会显示使用log.info和 log.warn 或 log.error 记录的消息。

#6。 Log4js

Log4js 的好处

当然,我们不能在不列出它的老大哥 Log4js 的情况下提及 loglevel。 Log4js 是一个 JavaScript 日志记录库,最初是作为流行的 Java 日志记录库 Log4j 的端口。它的创建是为了为 JavaScript 应用程序提供类似的日志记录解决方案,并且后来发展为提供高级日志记录功能和特性。 Github 上有超过 5600 颗星,以下是 Log4js 如此受欢迎的一些原因:


  • 配置的灵活性- Log4js 提供了一系列日志记录选项,包括日志级别、不同类型的附加程序(例如控制台、文件、网络),以及为应用程序的不同部分指定不同日志配置的能力。
  • 自定义附加程序- Log4js 支持创建自定义附加程序,允许开发人员扩展库以满足他们特定的日志记录要求。
  • 支持日志上下文——Log4js 允许开发人员将日志消息与额外的上下文信息相关联,例如用户的请求数据,以使日志消息对调试更有用。
  • 动态日志级别配置- Log4js 支持在运行时更改日志级别,从而更容易在生产环境中管理日志记录。
  • 与其他工具集成——Log4js 内置了对流行工具的支持,例如 Logstash 和 Graylog,这使得将日志记录集成到更广泛的应用程序监控和分析工作流中变得更加容易。

安装 Log4js

要安装 Log4js,您可以通过在终端中运行以下命令来使用 npm 包管理器:


 npm install log4js


这将安装最新版本的 Log4js 及其依赖项。然后,您可以在 Node.js 应用程序中需要该库并开始使用它来记录消息。

使用 Log4js

要开始使用 Log4js,首先在您的代码中要求它并配置它:

 const log4js = require('log4js'); log4js.configure({ appenders: { console: { type: 'console' } }, categories: { default: { appenders: ['console'], level: 'info' } } }); const logger = log4js.getLogger();


然后,您可以使用记录器记录不同级别的消息:

 logger.trace('Entering cheese testing'); logger.debug('Got cheese.'); logger.info('Cheese is Gouda.'); logger.warn('Cheese is quite smelly.'); logger.error('Cheese is too ripe!'); logger.fatal('Cheese was breeding ground for listeria.');


下面是使用 Log4js 将消息记录到具有不同日志级别的多个附加程序(控制台和文件)的示例:

 const log4js = require('log4js'); log4js.configure({ appenders: { console: { type: 'console' }, file: { type: 'file', filename: 'app.log' } }, categories: { default: { appenders: ['console'], level: 'info' }, file: { appenders: ['file'], level: 'error' } } }); const logger = log4js.getLogger(); const fileLogger = log4js.getLogger('file'); logger.info('This is an informational message'); fileLogger.error('This is an error message');


在此示例中,类别为“default”的记录器被配置为将级别为 info 或更高级别的消息记录到控制台。类别为“文件”的记录器被配置为将错误级别或更高级别的消息记录到文件中。这两个记录器可以互换使用,将消息记录到它们各自的附加程序中。

#7。 Npm日志

Npmlog 的好处

npmlog 的独特价值在于其简单性和最小开销,使其非常适合在小规模或对性能敏感的项目中使用。它易于配置并与 npm 生态系统无缝集成(这并不奇怪,因为它是 npm 的官方记录器实用程序),使其成为寻求轻量级日志记录解决方案的开发人员的热门选择。以下是 npmlog 上榜的几个原因:


  1. 轻量级——npmlog 具有较小的代码库和最小的开销,使其非常适合小规模或对性能敏感的项目。
  2. 与 npm 轻松集成- npmlog 专为在 npm 生态系统中使用而设计,使其易于与其他 npm 包和工具集成。
  3. 可自定义- npmlog 允许您自定义日志级别、流和前缀,让您完全控制日志的生成和显示方式。
  4. 多功能- npmlog 适用于范围广泛的项目,从小型脚本到大型应用程序,使其成为多功能且灵活的日志记录工具。
  5. 简单易用- npmlog 有一个简单的 API,需要最少的设置,让您可以快速轻松地开始记录您的 Node.js 项目。

安装 Npmlog

要安装 npmlog,您需要在计算机上安装 Node.js 和 npm(节点包管理器)。然后,您可以在终端或命令提示符中运行以下命令:

 npm install npmlog


这将下载并安装最新版本的 npmlog 及其依赖项,允许您在 Node.js 项目中使用它。

使用 Npmlog

以下是如何在 Node.js 项目中使用 npmlog 的示例:

 const log = require('npmlog'); log.level = 'verbose'; log.verbose('This is a verbose message'); log.info('This is an informational message'); log.warn('This is a warning'); log.error('This is an error');


在此示例中,我们首先需要npmlog模块并将其分配给一个变量。然后,我们将日志级别设置为verbose ,这意味着将显示日志级别为verboseinfowarnerror的消息。然后,我们使用verboseinfowarnerror方法记录不同级别的消息。


请注意,默认情况下,npmlog 写入process.stderr 。如果需要写入process.stdout ,可以使用log.stream属性。

#8。咆哮

吼吼福利

roarr 库是一个 Node.js 日志记录工具,旨在无需初始化即可生成结构化数据。它具有命令行界面 (CLI) 并支持环境变量,使其用途广泛且易于使用。此外,roarr 与 Node.js 和浏览器环境兼容,使其成为适用于各种应用程序的多功能日志记录解决方案。


以下是突出 roarr 库独特价值的几个要点:


  1. 结构化日志记录——该库以结构化格式生成日志,使使用机器可读工具处理和分析日志变得容易。
  2. 丰富的元数据- roarr 提供了一组丰富的元数据,例如请求和响应信息,可用于诊断问题并提高日志的整体质量。
  3. 人类可读——尽管它是结构化的格式,roarr 日志也被设计成人类可读的,使你很容易理解日志的上下文和内容。
  4. 易于使用——该库为日志记录提供了一个简单直观的 API,没有不必要的复杂性。
  5. 可定制——roarr 库允许您定制日志的外观和内容,包括用于定制日志级别、流和元数据的选项。

安装咆哮

首先,使用 npm 安装 roarr:

 npm install roarr

使用咆哮

接下来,将 roarr 导入您的代码并创建一个记录器:

 const Roarr = require('roarr').default; const logger = new Roarr({ context: { service: 'my-service' } });

使用log方法记录消息:

 logger.info('Hello, world!');

默认情况下,roarr 日志将输出到控制台。您可以通过使用stream选项指定不同的流(例如文件)来自定义日志输出:

 const Roarr = require('roarr').default; const fs = require('fs'); const logger = new Roarr({ context: { service: 'my-service' }, stream: fs.createWriteStream('./my-service.log') });

这只是如何使用 roarr 的一个基本示例。还有更多选项和功能可用,因此请务必参考官方 roarr 文档以获取更多信息。

#9。示踪剂

示踪剂的好处

Tracer 是一个用于 Node.js 应用程序的开源日志记录库,由 Node.js 社区开发。它旨在提供一种高效灵活的方式来记录 Node.js 应用程序中的消息和调试信息。 Tracer 由一组志愿者积极维护和开发,任何人都可以在 Github 上使用和贡献。以下是使其成为独特日志库的一些功能:


  1. 异步日志记录- Tracer 使用异步日志记录,这意味着日志不会阻止程序的执行。
  2. 结构化日志记录- Tracer 提供结构化日志记录,这意味着日志被组织成键值对,从而更容易搜索、分析和可视化日志数据。
  3. 可定制的输出——Tracer 提供可定制的输出格式,允许开发人员为其日志选择格式和目的地,包括控制台、文件或基于云的服务,如 AWS CloudWatch。
  4. 丰富的日志上下文- Tracer 提供丰富的日志上下文,包括将请求 ID、用户 ID 和其他信息等元数据附加到日志的能力。
  5. 中间件支持- Tracer 提供中间件支持,允许开发人员轻松地将日志记录添加到他们的 Express.js 或 Koa.js 应用程序。

安装示踪剂

可以使用节点包管理器 (npm) 安装 Tracer。以下是安装 Tracer 的步骤:


  1. 打开终端或命令提示符
  2. 将当前目录更改为 Node.js 项目目录
  3. 运行以下命令来安装 Tracer:


 npm install tracer


这会将 Tracer 作为项目的依赖项安装。然后您可以在您的代码中要求它并开始使用它来记录消息。

使用示踪剂

以下是如何在代码中使用 Tracer 的示例:


 const tracer = require('tracer'); const logger = tracer.console(); logger.info('Starting the application...');


在这个例子中,我们首先需要 Tracer 库,然后使用tracer.console()方法创建一个控制台记录器。最后,我们使用 logger 对象的info方法记录一条信息性消息。


下面是另一个使用 Tracer 的例子:

 const tracer = require('tracer'); const logger = tracer.dailyfile({root: './logs', maxLogFiles: 10}); logger.error('An error has occurred:', new Error('Something went wrong'));


在此示例中,我们使用tracer.dailyfile方法创建一个文件记录器,将日志写入每日轮换文件。 root选项指定将存储日志文件的目录,而maxLogFiles选项限制将保留的日志文件的数量。


最后,我们使用 logger 对象上的error方法记录一条错误消息,以及一个错误对象,提供有关已发生错误的更多信息。

#10。信号

信号优势

它的 Github 页面以“可破解和可配置到核心”而自豪,这是使 Signale 成为 Node.js 社区中深受喜爱的日志库的主要部分。该库的创建是为了解决开发人员在尝试在 Node.js 应用程序中记录消息时所面临的困难,例如杂乱无章且难以阅读的日志。这是让它脱颖而出的原因:


  1. 可定制的日志输出——Signale 提供了多种可定制的日志输出,允许开发人员选择最适合他们需求的输出,从简单的控制台输出到更高级的输出,如 JSON 和 Logfmt。
  2. 直观的 API - Signale 具有简单直观的 API,使开发人员易于使用和理解,即使对于那些不熟悉日志记录的人也是如此。
  3. 样式化输出- Signale 提供样式化输出,使日志更具可读性和视觉吸引力,从而更容易快速识别重要的日志消息。
  4. 丰富的日志上下文- Signale 提供了丰富的日志上下文,例如时间戳和日志级别,使分析和理解日志变得更加容易。
  5. 活跃的社区——Signale 拥有一个由开发人员和贡献者组成的庞大而活跃的社区,确保该库得到良好维护并与最新技术和最佳实践保持同步。

安装信号

要安装 Signale,您可以通过在终端中运行以下命令来使用 Node.js 包管理器 npm:

 npm install signale


或者,您也可以通过在终端中运行以下命令来使用 yarn 安装 Signale:

 yarn add signale


安装后,您可以将 Signale 导入 Node.js 应用程序并开始使用它来记录消息和调试信息。

使用信号

下面是将 Signale 导入 Node.js 应用程序并使用它来记录消息的示例:


 const signale = require('signale'); // Log an info message signale.info('Starting up the server'); // Log a success message signale.success('Server started successfully'); // Log a warning message signale.warn('Low memory warning'); // Log an error message signale.error(new Error('An error occurred while processing data'));


在此示例中,我们使用require函数将 Signale 导入到我们的 Node.js 应用程序中。然后,我们使用 Signale 提供的各种日志记录方法,例如infosuccesswarnerror ,来记录不同类型的消息。这些方法中的每一种都有独特的符号和颜色,可以轻松快速地识别日志消息的类型。


您可以在Signale 文档中找到有关如何使用 Signale 的更多信息,包括其他日志记录方法和自定义选项。


使用 Node.js 日志库优化调试过程

正在寻找一种快速有效的方法来调试您的 Node.js 应用程序?查看本文中提到的一个或多个库,每个库都是不错的选择。然而,Pino 是我们选择的个人日志库,它的价值在于 😉


在测试/开发环境和生产环境中调试 Node.js 应用程序时,这些日志记录库已被证明是至关重要的。


此外,通过将它们与 PlayerZero 等监控解决方案集成,您可以更深入地了解 Node.js 应用程序的性能。


立即预订演示以了解有关 PlayerZero 如何帮助您优化后端应用程序性能的更多信息!


也发布在这里