在线文档教程

Node.js 控制台

控制台

稳定性: 4 - 冻结

  • {Object}

Node.js的console模块提供了一个简单的调试控制台。

Node.js控制台的作用是可以将输出字符打印到stdout(标准输出)和stderr(标准错误)。类似于大部分浏览器提供的console对象函数,Node也是输出到stdout和 stderr。

如果输出目标是终端或文件的时候,console函数是同步的(这是为了防止意外的退出而导致数据丢失),输出是管道的时候是异步的(防止阻塞时间太长)。

下面的例子里,stdout是非阻塞的,而stderr是阻塞的:

$ node script.js 2> error.log | tee info.log

平常使用过程中,只有发现大批量的数据时,才会考虑阻塞或非阻塞问题。

console.log(data)

输出到stdout并新起一行。和printf()类似,stdout可以传入多个参数,例如:

var count = 5; console.log('count: %d', count // prints 'count: 5'

如果第一个字符里没有找到格式化的元素,util.inspect将会应用到各个参数,参见util.format()

console.info(data)

参见console.log

console.error(data)

参见console.log,不同的是打印到stderr。

console.warn(data)

参见console.error

console.dir(obj, options)

obj使用util.inspect,并打印结果到stdout,而这个函数绕过inspect()options参数可能传入以下几种:

  • showHidden- 如果是true,将会展示对象的非枚举属性,默认是false

console.time(label)

标记一个时间点。

console.timeEnd(label)

计时器结束的时候,记录输出,例如:

console.time('100-elements' for (var i = 0; i < 100; i++) { ; } console.timeEnd('100-elements' // prints 100-elements: 262ms

console.trace(message, ...)

输出当前位置的栈跟踪到stderr'Trace :'

console.assert(value, message)

和assert.ok()类似, 但是错误的输出格式为:util.format(message...)