Repolode
debug-js

debug-js/debug

一个轻量的 JavaScript 调试工具,按命名空间输出调试信息,适用于 Node.js 与浏览器,通过 DEBUG 环境变量开关。

Star
11,458
Fork
998
未关闭 Issue
98
最近提交
11天前

这是什么?

debug 是一个面向 JavaScript 的小型日志调试工具,设计思路参照 Node.js 核心使用的调试方式。开发者用命名空间(如 'http'、'worker:a')创建调试函数,只有通过 DEBUG 环境变量启用对应命名空间时才会输出内容。通过 DEBUG=connect:* 或 DEBUG=*,-connect:* 这类通配与排除写法,可以精确控制要查看的模块。

该库同时支持 Node.js 和浏览器。在 Node.js 中输出到 stderr,支持按命名空间着色,并显示两次调用之间的毫秒间隔;非 TTY 输出时使用 ISO 时间戳。在浏览器中,启用状态保存在 localStorage 里。它支持 %o、%O、%s、%d、%j 等 printf 风格格式化符,也可通过扩展 debug.formatters 添加自定义格式。

此外,还可以用 extend 派生子命名空间,用 enabled 检查某命名空间是否开启,并在运行时调用 enable 与 disable 动态控制输出。

核心功能

  • 01通过 DEBUG 环境变量按命名空间开启或关闭调试输出。
  • 02支持通配符与排除模式筛选日志。
  • 03同时兼容 Node.js 与浏览器,在支持的环境中显示颜色。
  • 04显示两次调用之间的毫秒耗时,非 TTY 时输出 ISO 时间戳。
  • 05支持 printf 风格格式化符,并可自定义格式化器。
  • 06提供运行时 enable、disable 和 extend 接口。

适用场景

  • 为 Node.js 库或应用添加可开关的调试日志,默认不输出干扰信息。
  • 按命名空间追踪服务端的请求处理或后台任务执行情况。
  • 通过设置 localStorage.debug 在浏览器中调试前端代码。

快速上手

  1. 1

    使用 npm 安装该包

    npm install debug
  2. 2

    在代码中用命名空间创建调试实例,然后设置 DEBUG 环境变量运行应用(macOS/Linux)

    DEBUG=* node app.js

使用前须知

  • 只有通过 DEBUG 环境变量或 localStorage.debug 启用的命名空间才会输出调试信息。
  • 在 Node.js 中,要获得完整的颜色支持需要安装可选的 supports-color 模块。

收录于专题

标签

常见问题

debug 是什么?
一个轻量的 JavaScript 调试工具,按命名空间输出调试信息,适用于 Node.js 与浏览器,通过 DEBUG 环境变量开关。 debug 是一个面向 JavaScript 的小型日志调试工具,设计思路参照 Node.js 核心使用的调试方式。开发者用命名空间(如 'http'、'worker:a')创建调试函数,只有通过 DEBUG 环境变量启用对应命名空间时才会输出内容。通过 DEBUG=connect:* 或 DEBUG=*,-connect:* 这类通配与排除写法,可以精确控制要查看的模块。
debug 可以免费使用吗?用的什么许可证?
debug 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
debug 还在维护吗?
活跃维护中。debug 最近一次提交是在 2026年10月14日。
debug 适合用来做什么?
为 Node.js 库或应用添加可开关的调试日志,默认不输出干扰信息。 按命名空间追踪服务端的请求处理或后台任务执行情况。 通过设置 localStorage.debug 在浏览器中调试前端代码。
debug 怎么安装和运行?
使用 npm 安装该包: npm install debug 在代码中用命名空间创建调试实例,然后设置 DEBUG 环境变量运行应用(macOS/Linux): DEBUG=* node app.js
在哪里获取 debug?
源代码和安装说明在 GitHub 上:https://github.com/debug-js/debug

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目