使用过connect或者express的同学必须要知道debug。这三个的主要作者都是同一个人。

debug模块使用起来很方便,可以分为下面三步:

  1. 在程序中引入debug时,需要配置一个日志名字空间。如下:

     var debug = require('debug')('namespace')
    
  2. 代码中使用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对象,其格式缩进有度,很容易查看。

  3. 配置环境变量DEBUG.如果仅做了上面两步,运行时默认是没有日志的,必须配置环境变量DEBUG.比如:

     export DEBUG=connect*,express*
     export DEBUG=*,-send,-connect:dispatcher
    

    需要简单说明一下,多个日志名字空间可以使用,号或空格分隔,也支持使用*号来进行通配。日志名字空间前加-号,标记不打印该类型日志。

上面内容是不是很简单,那就试试吧!