Node.js 控制臺

2022-02-26 10:30 更新
穩(wěn)定性: 4 - 凍結(jié)
  • {Object}

Node.js的console模塊提供了一個簡單的調(diào)試控制臺。

Node.js控制臺的作用是可以將輸出字符打印到stdout(標(biāo)準(zhǔn)輸出)和stderr(標(biāo)準(zhǔn)錯誤)。類似于大部分瀏覽器提供的console對象函數(shù),Node也是輸出到stdout和 stderr。

如果輸出目標(biāo)是終端或文件的時候,console函數(shù)是同步的(這是為了防止意外的退出而導(dǎo)致數(shù)據(jù)丟失),輸出是管道的時候是異步的(防止阻塞時間太長)。

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

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

平常使用過程中,只有發(fā)現(xiàn)大批量的數(shù)據(jù)時,才會考慮阻塞或非阻塞問題。

console.log([data][, ...])

輸出到stdout并新起一行。和printf()類似,stdout可以傳入多個參數(shù),例如:

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

如果第一個字符里沒有找到格式化的元素,util.inspect將會應(yīng)用到各個參數(shù),參見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,并打印結(jié)果到stdout,而這個函數(shù)繞過inspect()。options參數(shù)可能傳入以下幾種:

  • showHidden- 如果是true,將會展示對象的非枚舉屬性,默認(rèn)是false

  • depth- inspect對象遞歸的次數(shù),對于復(fù)雜對象的掃描非常有用。默認(rèn)是2。想要嚴(yán)格遞歸,傳入null。

  • colors- 如果是true,輸出會格式化為 ANSI 顏色代碼。默認(rèn)是false。顏色可以定制,下面會介紹。

console.time(label)

標(biāo)記一個時間點。

console.timeEnd(label)

計時器結(jié)束的時候,記錄輸出,例如:

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

console.trace(message[, ...])

輸出當(dāng)前位置的棧跟蹤到stderr'Trace :'。

console.assert(value[, message][, ...])

assert.ok()類似, 但是錯誤的輸出格式為:util.format(message...)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號