首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NPM酷库:debug,控制调试日志

NPM酷库,每天两分钟,了解一个流行NPM库。

今天我们要了解的库是debug,一个专门用来控制输出调试日志的库。

通常,我们直接使用 输出调试日志,使用对象直接将日志输出到控制台,由于Node.js和浏览器环境都默认支持对象,所以,这种方式是最直接和最简洁的。

但是,随着项目规模增加, 控制台输出的日志就会堆积很多而不可读。另一方面,我们需要在开发调试环境才打开日志,而线上生产环境就不需要输出过多的日志。使用 对象控制日志输出,我们会自然而然地以“加注释”、“去注释”的方式来控制日志的输出。这样很笨。

debug库就是一款专门控制日志输出的库,能够完美解决我们的上述需求。

首先,debug库会判断环境变量,所以我们不需要修改代码,只调整一下程序运行环境就可以控制日志是否输出。另外,debug库不是简单地布尔判断环境变量,而是会对环境变量进行解析,允许我们选择性地控制输出哪些模块的日志,有效地解决了调试程序时候控制台日志堆积问题,因为我们可以控制debug,让其只输出我们关心的程序模块的日志。

下面就是一段使用了debug库的程序示例。

如果设置环境变量DEBUG为 那么就会输出所有的日志:

如果设置环境变量DEBUG为 那么就只会输出 的日志:

从上述例子中,得知环境变量的设置支持通配符。假设,我们的程序中存在如下调试器 “connect:bodyParser”、”connect:compress”、”connect:session”,我们可以将DEBUG设置为 ,或者简单地使用通配符 ,如果我们需要调试非connect相关的其他信息,可以使用 符号,“减去” connect, 。

在浏览器端,debug也能够很好地运行,不过在浏览器端开启调试,并不是使用环境变量,因为浏览器端不支持访问。在浏览器端,使用 对象控制debug:

参考: https://github.com/visionmedia/debug

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180104G0DG4N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券