溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Node.js API中的console模塊

發(fā)布時間:2020-07-28 09:29:05 來源:億速云 閱讀:195 作者:小豬 欄目:web開發(fā)

這篇文章主要講解了如何使用Node.js API中的console模塊,內(nèi)容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

console模塊簡介

說明:

console 模塊提供了一個簡單的調(diào)試控制臺,類似于 Web 瀏覽器提供的 JavaScript 控制臺。
console 模塊導出了兩個特定的組件:
一個 Console 類,包含 console.log() 、 console.error() 和 console.warn() 等方法,可以被用于寫入到任何 Node.js 流。
一個全局的 console 實例,可被用于寫入到 process.stdout 和 process.stderr。
全局的 console 使用時無需調(diào)用 require('console')。

demo:

const fs = require('fs');
/* 全局console */
console.log('你好世界');
// 輸出: 你好世界
console.log('你好%s', '世界');
// 輸出: 你好世界
console.error(new Error('錯誤信息'));
// Error: 錯誤信息
//  at Object. (/Users/xiaoqiang/Documents/work/demo/NodeApi/app.js:7:15)
//  at Module._compile (module.js:569:30)
//  at Object.Module._extensions..js (module.js:580:10)
//  at Module.load (module.js:503:32)
//  at tryModuleLoad (module.js:466:12)
//  at Function.Module._load (module.js:458:3)
//  at Function.Module.runMain (module.js:605:10)
//  at startup (bootstrap_node.js:158:16)
//  at bootstrap_node.js:575:3
const name = '描述';
console.warn(`警告:${name}`);
//警告:描述
/* 全局console */
const out = fs.createWriteStream('./stdout.log');
const err = fs.createWriteStream('./stderr.log');
const myConsole = new console.Console(out, err);
myConsole.log('你好世界');
// 打印: '你好世界'到 stdout.log
myConsole.log('你好%s', '世界');
// 打印: '你好世界'到 stdout.log
myConsole.error(new Error('錯誤信息'));
// 打印: [Error: 錯誤信息]到 stderr.log
const name = '描述';
myConsole.warn(`警告${name}`);
//打?。?'警告描述' 到 stderr.log

Console 類

說明:

Console 類可用于創(chuàng)建一個具有可配置的輸出流的簡單記錄器,
可以通過 require('console').Consoleconsole.Console 使用

demo:

const { Console } = require('console');
const { Console } = console;

new Console(stdout[, stderr])

說明:

通過傳入一個或兩個可寫流實例,創(chuàng)建一個新的 Console 對象
stdout:一個可寫流,用于打印日志或輸出信息。
stderr: 用于輸出警告或錯誤。
如果沒有傳入 stderr ,則警告或錯誤輸出會被發(fā)送到 stdout
全局的 console 是一個特殊的 Console 實例,
它的輸出會發(fā)送到 process.stdout 和 process.stderr

demo:

const { Console } = require('console');
const fs = require('fs');
const output = fs.createWriteStream('./stdout.log');
const errorOutput = fs.createWriteStream('./stderr.log');
const logger = new Console(output, errorOutput);
// 像 console 一樣使用
logger.log('name: %s', 'xiaoqiang');
//stdout.log 中打印: name: xiaoqiang

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

說明:

一個簡單的斷言測試,驗證 value 是否為真。
value:斷言條件,如果不為真,則拋出 AssertionError
message:如果提供了 message,則使用 util.format() 格式化并作為錯誤信息使用。
區(qū)別于瀏覽器的console.assert(),Node中的assert()如果斷言非真的話會拋出異常終止程序。

demo:

const output = fs.createWriteStream('./stdout.log');
const errorOutput = fs.createWriteStream('./stderr.log');
const logger = new Console(output, errorOutput);
logger.assert(false, 'Whoops %s', 'didn\'t work')
// AssertionError [ERR_ASSERTION]: Whoops didn't work

console.clear()

說明:

當 stdout 是一個 TTY 時,調(diào)用 console.clear() 將嘗試清除 TTY。
當 stdout 不是一個TTY時,該方法什么都不做。

console.count([label])

說明:

維護一個指定名稱的內(nèi)部計數(shù)器, 并且輸出該名稱調(diào)用 console.count() 的次數(shù)。
label:計數(shù)器名稱

demo:

> console.count()
default: 1
undefined
> console.count('default')
default: 2
undefined
> console.count('abc')
abc: 1
undefined
> console.count('xyz')
xyz: 1
undefined
> console.count('abc')
abc: 2
undefined
> console.count()
default: 3
undefined

console.countReset([label = 'default'])

說明:

重置指定 label 的內(nèi)部計數(shù)器。
label:計數(shù)器的名稱, 默認為 'default'。

demo:

> console.count('abc');
abc: 1
undefined
> console.countReset('abc');
undefined
> console.count('abc');
abc: 1
undefined
>

console.dir(obj[, options])

說明:

在 obj 上使用 util.inspect() 并打印結果字符串到 stdout,
util.inspect() 方法返回 object 的字符串表示,主要用于調(diào)試。
showHidden:如果為 true,則該對象中的不可枚舉屬性和 symbol 屬性也會顯示。默認為 false。
depth: 告訴 util.inspect() 函數(shù)當格式化對象時要遞歸多少次。 默認為 2。 設為 null 可無限遞歸。
colors: 如果為 true,則輸出會帶有 ANSI 顏色代碼。 默認為 false。 顏色是可定制的,

demo:

console.dir(console)
// Console {
// log: [Function: bound consoleCall],
// info: [Function: bound consoleCall],
// warn: [Function: bound consoleCall],
// error: [Function: bound consoleCall],
// dir: [Function: bound consoleCall],
// time: [Function: bound consoleCall],
// timeEnd: [Function: bound consoleCall],
// trace: [Function: bound consoleCall],
// assert: [Function: bound consoleCall],
// Console: [Function: Console],
// debug: [Function: debug],
// dirxml: [Function: dirxml],
// table: [Function: table],
// group: [Function: group],
// groupCollapsed: [Function: groupCollapsed],
// groupEnd: [Function: groupEnd],
// clear: [Function: clear],
// count: [Function: count],
// markTimeline: [Function: markTimeline],
// profile: [Function: profile],
// profileEnd: [Function: profileEnd],
// timeline: [Function: timeline],
// timelineEnd: [Function: timelineEnd],
// timeStamp: [Function: timeStamp] }

console.error([data][, …args])

說明:

打印到 stderr,并帶上換行符。 可以傳入多個參數(shù)。

demo:

console.error('error: %d', 0x100008);
//error: 1048584

console.group([…label])

說明:

將后續(xù)行的縮進增加兩個空格。

demo:

如何使用Node.js API中的console模塊

console.groupCollapsed()

說明:

console.group()的一個別名.

console.groupEnd()

說明:

將后續(xù)行的縮進減少兩個空格。與console.group()搭配使用。

console.info([data][, …args])

說明:

console.info() 函數(shù)是 console.log() 的一個別名。

demo:

console.info('name: %s', 'xiaoqiang');s
//name: xiaoqiang

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

說明:

打印到 stdout,并帶上換行符。

demo:

console.log('name: %s', 'xiaoqiang');
//name: xiaoqiang
console.log('name:', 'xiaoqiang');
//name: xiaoqiang

console.time(label)

說明:

啟動一個定時器,用以計算一個操作的持續(xù)時間。
定時器有一個唯一的 label 標識。
當調(diào)用 console.timeEnd() 時,可以使用相同的 label 來停止定時器,
并以毫秒為單位將持續(xù)時間輸出到 stdout。 定時器持續(xù)時間精確到亞毫秒。

demo:

console.time('run time');
for (var i = 100000; i >= 0; i--) {}
console.timeEnd('run time');
//run time: 0.718ms

console.timeEnd(label)

說明:

停止之前通過調(diào)用 console.time() 啟動的定時器,并打印結果到 stdout

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

說明:

打印字符串 'Trace :' 到 stderr ,并通過 util.format() 格式化消息堆棧打印代碼蹤跡。
用以跟蹤代碼的當前位置。

demo:

console.trace('run time Error');
// Trace: run time Error
//  at Object. (/Users/xiaoqiang/Documents/work/demo/NodeApi/app.js:5:9)
//  at Module._compile (module.js:569:30)
//  at Object.Module._extensions..js (module.js:580:10)
//  at Module.load (module.js:503:32)
//  at tryModuleLoad (module.js:466:12)
//  at Function.Module._load (module.js:458:3)
//  at Function.Module.runMain (module.js:605:10)
//  at startup (bootstrap_node.js:158:16)
//  at bootstrap_node.js:575:3

console.warn([data][, …args])

說明:

console.warn() 函數(shù)是 console.error() 的一個別名。

看完上述內(nèi)容,是不是對如何使用Node.js API中的console模塊有進一步的了解,如果還想學習更多內(nèi)容,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI