使用过connect或者express的同学必须要知道debug。这三个的主要作者都是同一个人。
debug模块使用起来很方便,可以分为下面三步:
-
在程序中引入
debug时,需要配置一个日志名字空间。如下:var debug = require('debug')('namespace') -
代码中使用
debug打印日志。 debug的内核是使用console.error来打印日志的。所以,console支持的通配符debug都可以使用,比如'%s'、'%j'等等。打印json数据就可以使用通配符%j,比如:debug("obj:%j", {name:'test'})但是,使用通配符
%j打印出来的json格式不太漂亮,看不出缩进。如果为了方便阅读,也可以使用nodeJS的自带模块util,举例如下:util = require('util') debug("object:%s", util.inspect(obj))这种方式打印出来的
json对象,其格式缩进有度,很容易查看。 -
配置环境变量
DEBUG.如果仅做了上面两步,运行时默认是没有日志的,必须配置环境变量DEBUG.比如:export DEBUG=connect*,express* export DEBUG=*,-send,-connect:dispatcher需要简单说明一下,多个日志名字空间可以使用
,号或空格分隔,也支持使用*号来进行通配。日志名字空间前加-号,标记不打印该类型日志。