Node.js 控制台
Node.js 控制台模块是一个全局对象,它提供了一个类似于 JavaScript 的简单调试控制台来显示不同级别的消息。它由网络浏览器提供。控制台模块包含两个组件:
- 控制台类:控制台类方法是 console.log()、console.error() 和 console.warn(),用于显示 Node.js 流。
- 全局控制台:无需调用 require('console') 即可使用。
控制台类示例:创建一个文件并将其保存为example_console_class.js ,文件中包含以下代码。
// It requires the fs module
const fs = require('fs');
const out = fs.createWriteStream('./stdout.log');
const err = fs.createWriteStream('./stderr.log');
const myobject = new console.Console(out, err);
// It will display 'This is the first example' to out
myobject.log('This is the first example');
// It will display 'This is the second example' to out
myobject.log('This is the %s example', 'second');
// It will display 'Error: In this we creating some error' to err
myobject.error(new Error('In this we creating some error'));
const num = 'third';
// It will display 'This is the third error' to err
myobject.warn(`This is the ${num} example`);
如果您观察上面的示例,我们使用带有可配置输出流的 Console 类创建了一个简单对象,并且我们使用console.Console创建了一个Console 类对象
现在,我们将在命令提示符下执行example_console_class.js脚本文件,方法是导航到它所在的文件夹,如下所示。
上面的 node.js 示例将在example_console_class.js文件所在的文件夹中创建一个日志文件(stdout 和 stderr),其中包含所需的消息,如下所示。
全局控制台对象示例:创建一个文件并将其保存为 example_console_object.js,文件中包含以下代码。
// It will display 'This is the first object example' to stdout
console.log('This is the first object example');
// It will display 'This is the second object example' to stdout
console.log('This is the %s example', 'second object');
// It will display 'Error: New Error has happened' to stderr
console.error(new Error('New Error has happened'));
const obj = 'third object';
// It will display 'This is the third object example' to stderr
console.warn(`This is the ${obj} example`);
如果您观察上面的代码,我们正在尝试使用全局控制台对象方法(如console.log()、console.error() 和 console.warn())将消息写入 node.js 流。在这里,我们访问全局控制台对象而不使用 require 指令导入它。
现在,我们将执行example_console_object.js文件,为此打开命令提示符 (cmd) 并导航到包含example_console_object.js文件的文件夹并编写命令节点 example_console_object.js并按 Enter 按钮,如下所示。
如果您观察结果,我们可以使用全局控制台对象将所需的消息写入 node.js 流。
控制台方法:除了上述三种方法(console.log()、console.error()、console.warn())之外,node.js 控制台对象中还有一些其他方法可以在 node.js 流中写入或打印消息.
- console.count():用于统计特定标签被调用的次数。
- console.clear():用于清除控制台历史记录。
- console.info():用于在控制台写入消息,是 console.log() 方法的别名。
- console.time():用于获取动作的开始时间。
- console.timeEnd():用于获取特定动作的结束时间。
- console.dir():它在对象上使用 util.inspect() 并将结果字符串打印到标准输出。