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标识,如下图:
不像一些更复杂的日志记录,它只是适合做调试工作,而且非常适合。