Node.JS

十个Node.js开发易犯错误之十:使用console.log调试

上页

 当出现一些问题时,我们只是插入console.log 用来调试,在你发现问题解决以后,再去除console.log 等调试信息。

 下个开发者也许碰到另外一问题,会重复你的这个过程,这就是为什么调试模块 debug存在的原因,不用插入和删除console.log,你能使用debug函数替代,然后就一直留在那里。

 一旦其他同事试图发现问题,他们只要使用环境变量DEBUG启动应用就可以了。

 这个小模块有下面好处:

  • 除非你使用 DEBUG环境变量启动你的应用,否则什么都不会显示在控制台。
  • 你能有选择地调试你的代码位置,(甚至使用通配符).
  • 输出时美丽的颜色。

 下面是一个官方案例:

var debug = require('debug')('http')

  , http = require('http')

  , name = 'My App';

 

// fake app

 

debug('booting %s', name);

 

http.createServer(function(req, res){

  debug(req.method + ' ' + req.url);

  res.end('hello\n');

}).listen(3000, function(){

  debug('listening');

});

 

// fake worker of some kind

 

require('./worker');

 完整的源码见:Github

 如果我们运行node app.js,什么也没有,但是如果包括DEBUG标识,如下图:

 不像一些更复杂的日志记录,它只是适合做调试工作,而且非常适合。

 

回目录

Node.js最佳实践