穩定性: 4 - 凍結
用于打印輸出字符到 stdout 和 stderr。和多數瀏覽器提供的 console 對象函數一樣,Node 也是輸出到 stdout 和 stderr。
當輸出目標是終端或文件的時候,console 函數是同步的(為了防止意外退出數據丟失),輸出是管道的時候是異步的(防止阻塞時間太長)。
下面的例子里,stdout 是非阻塞的,而 stderr 是阻塞的。
$ node script.js 2> error.log | tee info.log
平常使用過程中,不用考慮阻塞或非阻塞問題,除非有大批量的數據。
輸出到 stdout 并新起一行。和 printf()
類似,stdout 可以傳入多個參數。例如:
var count = 5;
console.log('count: %d', count);
// prints 'count: 5'
如果第一個字符里沒有找到格式化的元素, util.inspect
將會應用到各個參數,參見util.format()
參見 console.log
。
參見 console.log
,不同的是打印到 stderr。
參見 console.error
。
在 obj
使用 util.inspect
,并打印結果到 stdout,而這個函數繞過 inspect()
。options
參數可能傳入以下幾種:
showHidden
- 如果是true
,將會展示對象的非枚舉屬性,默認是 false
。
depth
- inspect
對象遞歸的次數,對于復雜對象的掃描非常有用。默認是 2
。想要嚴格遞歸,傳入 null
。
colors
- 如果是 true
, 輸出會格式化為 ANSI 顏色代碼。默認是 false
。顏色可以定制,下面會介紹。標記一個時間點。
計時器結束的時候,記錄輸出,例如:
console.time('100-elements');
for (var i = 0; i < 100; i++) {
;
}
console.timeEnd('100-elements');
// prints 100-elements: 262ms
輸出當前位置的棧跟蹤到 stderr 'Trace :'
。
和 assert.ok() 類似, 但是錯誤的輸出格式為:util.format(message...)
。