Node.js自定义Console类
Console类可用于创建具有可配置输出流的日志记录器,基本用法在Node.js的new Console()方法中有描述。但你可能会注意到,某些选项只允许布尔值作为输入。
例如,启用 colorMode 对于具有不同输出数据时是很有用的。Node.js提供了非常方便的设置来显示控制台日志。然而,在某些情况下,您可能仍希望修改它以适应您的需求,而无需安装任何其他软件包。
在本文中,我们首先将介绍如何利用 inspectOptions 来进行Console类的其他高级设置,然后解释如何修改 colorMode 的详细信息。
示例1: 使用默认的Console类。它展示数据的方式与全局控制台一致,即console.log。
index.js
使用以下命令运行 index.js 文件:
输出:
示例2: 如果我们没有足够的空间来显示所有内容,并希望内容更短和更有组织性。我们会在 inspectOptions 对象中指定以下属性,并将其附加到控制台选项中。
- maxArrayLength: 用于指定在格式化时包括的数组元素的最大数量。默认值:100。
- maxStringLength: 用于指定在格式化时包括的字符的最大数量。默认值:10000。
- sorted: 如果设置为true,则使用默认排序;如果设置为函数,则将其用作比较函数。
index.js
使用以下命令运行 index.js 文件:
输出:
说明: 如果你查看了 inspectOptions 接受的参数,其中有一个叫做 colors . 这个参数的优先级高于 Console类中的colorMode . 如果设置了 inspectOptions.colors ,就会忽略 colorMode . 同样,它只允许布尔值。也就是说,它接受true或false。这可能令人失望,但是如果一次只有一个日志记录器,下面是一个解决方法。
示例3: 我们可以修改 util.inspect.styles 中的默认设置,如下所示的示例代码。 ( 这 是每种数据类型可接受的所有值的列表)。请注意,这是一种修改全局颜色方案的方法。一旦应用了更改,所有启用颜色模式并遵循此颜色方案的其他组件都会受到影响。
index.js
运行 index.js 文件,使用以下命令:
输出:
参考: https://nodejs.org/api/util.html#util_customizing_util_inspect_colors