# console 控制台
本模块提供了一个简单的调试控制台,类似于浏览器提供的JavaScript控制台机制。
> **说明:**
>
> 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## console.debug
debug(message: string, ...arguments: any[]): void
以格式化输出方式打印调试信息。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的文本信息。 |
| arguments | any | 否 | 表示其余要打印的信息或message的替换值。 |
**示例:**
```js
const number = 5;
console.debug('count: %d', number); // 格式化输出替换message中的文本。
// count: 5
console.debug('count:', number); // 打印message以及其余信息
// count: 5
console.debug('count:'); // 仅打印message
// count:
```
## console.log
log(message: string, ...arguments: any[]): void
以格式化输出方式打印日志信息。用法同console.debug()。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的文本信息。 |
| arguments | any | 否 |表示其余要打印的信息或message的替换值。 |
## console.info
info(message: string, ...arguments: any[]): void
以格式化输出方式打印日志信息。(console.log()的别名)。用法同console.debug()。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的文本信息。 |
| arguments | any | 否 | 表示其余要打印的信息或message的替换值。 |
## console.warn
warn(message: string, ...arguments: any[]): void
以格式化输出方式打印警告信息。用法同console.debug()。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的文本信息。 |
| arguments | any | 否 | 表示其余要打印的信息或message的替换值。 |
## console.error
error(message: string, ...arguments: any[]): void
以格式化输出方式打印错误信息。用法同console.debug()。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的文本信息。 |
| arguments | any | 否 | 表示其余要打印的信息或message的替换值。 |
## console.assert10+
assert(value?: Object, ...arguments: Object[]): void
若value为假(false)或者省略,则console.assert()打印"Assertion failed"这条消息。
如果 value 为真值(true),则什么也不会发生。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| value | Object | 否 | 语句结果值。省略则打印"Assertion failed"。|
| arguments | Object | 否 | 错误消息打印。 |
**示例:**
```js
console.assert(true, 'does nothing');
console.assert(2 % 1 == 0, 'does nothing'); // 表达式结果值为true。
console.assert(false, 'console %s work', 'didn\'t');
// Assertion failed: console didn't work
console.assert();
// Assertion failed
```
## console.count10+
count(label?: string): void
维护一个内部计数器, 调用时,打印此标签名以及对应的计数次数。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| label | string | 否 | 计数器标签名。默认值为'default'。|
**示例:**
```js
console.count()
// default: 1
console.count('default')
// default: 2
console.count('abc')
// abc: 1
console.count('xyz')
// xyz: 1
console.count('abc')
// abc: 2
console.count()
// default: 3
```
## console.countReset10+
countReset(label?: string): void
清除指定标签名的计数。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| label | string | 否 | 计数器标签名。默认值为'default'。|
**示例:**
```js
console.count('abc');
// abc: 1
console.countReset('abc');
console.count('abc');
// abc: 1
```
## console.dir10+
dir(dir?: Object): void
打印对象内容。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| dir | Object | 否 | 需要打印内容的对象。省略则无任何打印。|
**示例:**
```js
let a = { foo: { bar: { baz: true } }};
console.dir(a);
// Object: {"foo":{"bar":{"baz":true}}}
console.dir(); // 无打印
```
## console.dirxml10+
dirxml(...arguments: Object[]): void
此方法调用 console.log() 将接收到的参数传给它。此方法不会产生任何 XML 格式。qi'A使用方法与console.log()一致。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| arguments | Object | 是 | 要打印的信息。 |
## console.group10+
group(...arguments: Object[]): void
默认将后续行的缩进增加两个空格。
如果提供需要打印的信息,则首先打印信息,没有额外的缩进。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| arguments | Object | 否 | 要打印的信息。 |
**示例:**
```js
console.log("outter");
// outter
console.group();
console.log("level 1");
// level 1
console.group("in level1");
// in level1
console.log("level 2");
// level 2
```
## console.groupCollapsed10+
groupCollapsed(...arguments: Object[]): void
console.group()的别名。使用方法与console.group()一致。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| arguments | Object | 否 | 要打印的信息。|
## console.groupEnd10+
groupEnd(): void
将后续行的缩进减少两个空格。
**系统能力:** SystemCapability.Utils.Lang
**示例:**
```js
console.log("outter");
// outter
console.group();
console.log("level 1");
// level 1
console.groupEnd();
console.log("outter");
// outter
```
## console.table10+
table(tableData?: Object): void
以表格形式打印数据。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| tableData | Object | 否 | 要打印为表格形式的对象。省略则无任何打印。 |
**示例:**
```js
console.table([1, 2, 3]);
// ┌─────────┬────────┐
// │ (index) │ Values │
// ├─────────┼────────┤
// │ 0 │ 1 │
// │ 1 │ 2 │
// │ 2 │ 3 │
// └─────────┴────────┘
console.table({ a: [1, 2, 3, 4, 5], b: 5, c: { e: 5 } });
// ┌─────────┬───┬───┬───┬───┬───┬───┬────────┐
// │ (index) │ 0 │ 1 │ 2 │ 3 │ 4 │ e │ Values │
// ├─────────┼───┼───┼───┼───┼───┼───┼────────┤
// │ a │ 1 │ 2 │ 3 │ 4 │ 5 │ │ │
// │ b │ │ │ │ │ │ │ 5 │
// │ c │ │ │ │ │ │ 5 │ │
// └─────────┴───┴───┴───┴───┴───┴───┴────────┘
```
## console.time10+
time(label?: string): void
启动可用于计算操作持续时间的计时器。可使用console.timeEnd()关闭计时器并打印结果。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| label | string | 否 | 计时器标识。默认值为'default'。 |
## console.timeEnd10+
timeEnd(label?: string): void
停止之前通过调用 console.time() 启动的计时器并将结果打印。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| label | string | 否 | 计时器标识。默认值为'default' |
**示例:**
```js
console.time('abc');
console.timeEnd('abc');
// abc: 225.438ms
```
## console.timeLog10+
timeLog(label?: string, ...arguments: Object[]): void
对于先前通过调用 console.time() 启动的计时器,打印经过时间和其他 data 参数。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| label | string | 否 | 计时器标识。默认值为'default' |
| arguments | Object | 否 | 需要打印的其他日志。 |
**示例:**
```js
console.time('timer1');
console.timeLog('timer1', 17);
// timer1: 365.227ms 17
console.timeEnd('timer1');
// timer1: 513.22ms
```
## console.trace10+
trace(...arguments: Object[]): void
打印当前堆栈。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| arguments | Object | 否 | 需要打印的其他日志。省略则仅打印堆栈信息。|
**示例:**
```js
console.trace();
// Trace:
xxxxxxxxxx(当前堆栈信息)
console.trace("Show the trace");
// Trace: Show the trace
xxxxxxxxxx(当前堆栈信息)
```