• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Console (控制台)
2
3本模块提供了一个简单的调试控制台,类似于浏览器提供的JavaScript控制台机制。
4
5> **说明:**
6>
7> 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## console.debug
10
11debug(message: string, ...arguments: any[]): void
12
13以格式化输出方式打印调试信息。
14
15从API version 9开始,该接口支持在ArkTS卡片中使用。
16
17**系统能力:** SystemCapability.ArkUI.ArkUI.Full
18
19**参数:**
20
21| 参数名     | 类型     | 必填   | 说明          |
22| ------- | ------ | ---- | ----------- |
23| message | string | 是    | 表示要打印的文本信息。 |
24| arguments | any[] | 否    | 表示其余要打印的信息或message的替换值。 |
25
26**示例:**
27
28```js
29const number = 5;
30console.debug('count: %d', number);  // 格式化输出替换message中的文本。
31// count: 5
32console.debug('count:', number);  // 打印message以及其余信息
33// count: 5
34console.debug('count:'); // 仅打印message
35// count:
36```
37
38## console.log
39
40log(message: string, ...arguments: any[]): void
41
42以格式化输出方式打印日志信息。
43
44从API version 9开始,该接口支持在ArkTS卡片中使用。
45
46**系统能力:** SystemCapability.ArkUI.ArkUI.Full
47
48**参数:**
49
50| 参数名     | 类型     | 必填   | 说明          |
51| ------- | ------ | ---- | ----------- |
52| message | string | 是    | 表示要打印的文本信息。 |
53| arguments | any[] | 否    |表示其余要打印的信息或message的替换值。 |
54
55**示例:**
56
57```js
58const number = 5;
59console.log('count: %d', number);  // 格式化输出替换message中的文本。
60// count: 5
61console.log('count:', number);  // 打印message以及其余信息
62// count: 5
63console.log('count:'); // 仅打印message
64// count:
65```
66
67## console.info
68
69info(message: string, ...arguments: any[]): void
70
71以格式化输出方式打印日志信息。(console.log()的别名)。
72
73从API version 9开始,该接口支持在ArkTS卡片中使用。
74
75**系统能力:** SystemCapability.ArkUI.ArkUI.Full
76
77**参数:**
78
79| 参数名     | 类型     | 必填   | 说明          |
80| ------- | ------ | ---- | ----------- |
81| message | string | 是    | 表示要打印的文本信息。 |
82| arguments | any[] | 否    | 表示其余要打印的信息或message的替换值。 |
83
84**示例:**
85
86```js
87const number = 5;
88console.info('count: %d', number);  // 格式化输出替换message中的文本。
89// count: 5
90console.info('count:', number);  // 打印message以及其余信息
91// count: 5
92console.info('count:'); // 仅打印message
93// count:
94```
95
96## console.warn
97
98warn(message: string, ...arguments: any[]): void
99
100以格式化输出方式打印警告信息。
101
102从API version 9开始,该接口支持在ArkTS卡片中使用。
103
104**系统能力:** SystemCapability.ArkUI.ArkUI.Full
105
106**参数:**
107
108| 参数名     | 类型     | 必填   | 说明          |
109| ------- | ------ | ---- | ----------- |
110| message | string | 是    | 表示要打印的警告信息。 |
111| arguments | any[] | 否    | 表示其余要打印的信息或message的替换值。 |
112
113**示例:**
114
115```js
116const str = "name should be string";
117console.warn('warn: %d', str);  // 格式化输出替换message中的文本。
118// warn: name should be string
119console.warn('warn:', str);  // 打印message以及其余信息
120// warn: name should be string
121console.warn('warn:'); // 仅打印message
122// warn:
123```
124
125## console.error
126
127error(message: string, ...arguments: any[]): void
128
129以格式化输出方式打印错误信息。
130
131从API version 9开始,该接口支持在ArkTS卡片中使用。
132
133**系统能力:** SystemCapability.ArkUI.ArkUI.Full
134
135**参数:**
136
137| 参数名     | 类型     | 必填   | 说明          |
138| ------- | ------ | ---- | ----------- |
139| message | string | 是    | 表示要打印的错误信息。 |
140| arguments | any[] | 否    | 表示其余要打印的信息或message的替换值。 |
141
142
143**示例:**
144
145```js
146const str = "value is not defined";
147console.error('error: %d', str);  // 格式化输出替换message中的文本。
148// error: value is not defined
149console.error('error:', str);  // 打印message以及其余信息
150// error: value is not defined
151console.error('error:'); // 仅打印message
152// error:
153```
154
155## console.assert<sup>10+</sup>
156
157assert(value?: Object, ...arguments: Object[]): void
158
159断言打印。
160
161**系统能力:** SystemCapability.Utils.Lang
162
163**参数:**
164
165| 参数名     | 类型     | 必填   | 说明          |
166| ------- | ------ | ---- | ----------- |
167| value | Object | 否    | 语句结果值。若value为假(false)或者省略,则输出以"Assertion failed"开头。如果 value 为真值(true),则无打印。|
168| arguments | Object | 否    | value为假(false)的后续错误消息打印。省略则不打印。|
169
170**示例:**
171
172```js
173console.assert(true, 'does nothing');  // 表达式结果值为true, 无打印。
174console.assert(2 % 1 == 0, 'does nothing');  // 表达式结果值为true, 无打印。
175
176console.assert(false, 'console %s work', 'didn\'t');
177// Assertion failed: console didn't work
178
179console.assert();
180// Assertion failed
181```
182
183## console.count<sup>10+</sup>
184
185count(label?: string): void
186
187维护一个内部计数器,调用时,打印此标签名以及对应的计数次数。
188
189**系统能力:** SystemCapability.Utils.Lang
190
191**参数:**
192
193| 参数名     | 类型     | 必填   | 说明          |
194| ------- | ------ | ---- | ----------- |
195| label | string | 否    | 计数器标签名。默认值为'default'。|
196
197
198**示例:**
199
200```js
201console.count()
202// default: 1
203console.count('default')
204// default: 2
205console.count('abc')
206// abc: 1
207console.count('xyz')
208// xyz: 1
209console.count('abc')
210// abc: 2
211console.count()
212// default: 3
213```
214
215## console.countReset<sup>10+</sup>
216
217countReset(label?: string): void
218
219清除指定标签名的计数。
220
221**系统能力:** SystemCapability.Utils.Lang
222
223**参数:**
224
225| 参数名     | 类型     | 必填   | 说明          |
226| ------- | ------ | ---- | ----------- |
227| label | string | 否    | 计数器标签名。默认值为'default'。|
228
229**示例:**
230
231```js
232console.count('abc');
233// abc: 1
234console.countReset('abc');
235console.count('abc');
236// abc: 1
237```
238
239## console.dir<sup>10+</sup>
240
241dir(dir?: Object): void
242
243打印对象内容。
244
245**系统能力:** SystemCapability.Utils.Lang
246
247**参数:**
248
249| 参数名     | 类型     | 必填   | 说明          |
250| ------- | ------ | ---- | ----------- |
251| dir | Object | 否    | 需要打印内容的对象。省略则无任何打印。|
252
253
254**示例:**
255
256```js
257class bar {
258  baz: boolean = true;
259}
260let b: bar = {baz: true}
261class foo{
262  bar: bar = b;
263}
264let c: foo = {bar: b}
265class  c1{
266  foo: foo = c;
267}
268let a: c1 = {foo: c}
269console.dir(a);
270// Object: {"foo":{"bar":{"baz":true}}}
271
272console.dir(); // 无打印
273```
274
275
276## console.dirxml<sup>10+</sup>
277
278dirxml(...arguments: Object[]): void
279
280此方法通过内部调用console.log()实现。此方法不会产生任何 XML 格式。使用方法与console.log()一致。
281
282**系统能力:** SystemCapability.Utils.Lang
283
284**参数:**
285
286| 参数名     | 类型     | 必填   | 说明          |
287| ------- | ------ | ---- | ----------- |
288| arguments | Object | 是    | 要打印的信息。 |
289
290**示例:**
291
292```js
293const number = 5;
294console.dirxml('count: %d', number);
295// count: 5
296console.dirxml('count:', number);
297// count: 5
298console.dirxml('count:');
299// count:
300```
301
302## console.group<sup>10+</sup>
303
304group(...arguments: Object[]): void
305
306默认将后续行的缩进增加两个空格。
307如果提供需要打印的信息,则首先打印信息,没有额外的缩进。
308
309**系统能力:** SystemCapability.Utils.Lang
310
311**参数:**
312
313| 参数名     | 类型     | 必填   | 说明          |
314| ------- | ------ | ---- | ----------- |
315| arguments | Object | 否    | 要打印的信息。 |
316
317**示例:**
318
319```js
320console.log("outter");
321// outter
322console.group();
323console.log("level 1");
324//   level 1
325console.group("in level1");
326//   in level1
327console.log("level 2");
328//     level 2
329```
330
331
332## console.groupCollapsed<sup>10+</sup>
333
334groupCollapsed(...arguments: Object[]): void
335
336使用与功能同console.group()一致。
337
338**系统能力:** SystemCapability.Utils.Lang
339
340**参数:**
341
342| 参数名     | 类型     | 必填   | 说明          |
343| ------- | ------ | ---- | ----------- |
344| arguments | Object | 否    | 要打印的信息。|
345
346
347**示例:**
348
349```js
350console.groupCollapsed("outter");
351// outter
352console.groupCollapsed();
353console.log("level 1");
354//   level 1
355console.groupCollapsed("in level1");
356//   in level1
357console.log("level 2");
358//     level 2
359```
360
361## console.groupEnd<sup>10+</sup>
362
363groupEnd(): void
364
365将后续行的缩进减少两个空格。
366
367**系统能力:** SystemCapability.Utils.Lang
368
369
370**示例:**
371
372```js
373console.log("outter");
374// outter
375console.group();
376console.log("level 1");
377//   level 1
378console.groupEnd();
379console.log("outter");
380// outter
381```
382
383
384## console.table<sup>10+</sup>
385
386table(tableData?: Object): void
387
388以表格形式打印数据。
389
390**系统能力:** SystemCapability.Utils.Lang
391
392**参数:**
393
394| 参数名     | 类型     | 必填   | 说明          |
395| ------- | ------ | ---- | ----------- |
396| tableData | Object | 否    | 要打印为表格形式的对象。省略则无任何打印。 |
397
398**示例:**
399
400```js
401console.table([1, 2, 3]);
402// ┌─────────┬────────┐
403// │ (index) │ Values │
404// ├─────────┼────────┤
405// │    0    │   1    │
406// │    1    │   2    │
407// │    2    │   3    │
408// └─────────┴────────┘
409
410console.table({ a: [1, 2, 3, 4, 5], b: 5, c: { e: 5 } });
411
412// ┌─────────┬───┬───┬───┬───┬───┬───┬────────┐
413// │ (index) │ 0 │ 1 │ 2 │ 3 │ 4 │ e │ Values │
414// ├─────────┼───┼───┼───┼───┼───┼───┼────────┤
415// │    a    │ 1 │ 2 │ 3 │ 4 │ 5 │   │        │
416// │    b    │   │   │   │   │   │   │   5    │
417// │    c    │   │   │   │   │   │ 5 │        │
418// └─────────┴───┴───┴───┴───┴───┴───┴────────┘
419```
420
421## console.time<sup>10+</sup>
422
423time(label?: string): void
424
425启动可用于计算操作持续时间的计时器。可使用console.timeEnd()关闭计时器并打印经过的时间(单位:ms)。
426
427**系统能力:** SystemCapability.Utils.Lang
428
429**参数:**
430
431| 参数名     | 类型     | 必填   | 说明          |
432| ------- | ------ | ---- | ----------- |
433| label | string | 否    | 计时器标识。默认值为'default'。 |
434
435**示例:**
436
437```js
438console.time('abc');
439```
440
441## console.timeEnd<sup>10+</sup>
442
443timeEnd(label?: string): void
444
445停止之前通过调用 console.time() 启动的计时器并将打印经过的时间(单位:ms)。
446
447**系统能力:** SystemCapability.Utils.Lang
448
449**参数:**
450
451| 参数名     | 类型     | 必填   | 说明          |
452| ------- | ------ | ---- | ----------- |
453| label | string | 否    | 计时器标识。默认值为'default' |
454
455**示例:**
456
457```js
458console.time('abc');
459console.timeEnd('abc');
460// abc: 225.438ms
461```
462
463## console.timeLog<sup>10+</sup>
464
465timeLog(label?: string, ...arguments: Object[]): void
466
467对于先前通过调用 console.time() 启动的计时器,打印经过时间和其他data参数。
468
469**系统能力:** SystemCapability.Utils.Lang
470
471**参数:**
472
473| 参数名     | 类型     | 必填   | 说明          |
474| ------- | ------ | ---- | ----------- |
475| label | string | 否    | 计时器标识。默认值为'default' |
476| arguments | Object | 否    | 需要打印的其他日志。 |
477
478**示例:**
479
480```js
481console.time('timer1');
482console.timeLog('timer1', 17);
483// timer1: 365.227ms 17
484console.timeEnd('timer1');
485// timer1: 513.22ms
486```
487
488## console.trace<sup>10+</sup>
489
490trace(...arguments: Object[]): void
491
492打印当前堆栈。
493
494**系统能力:** SystemCapability.Utils.Lang
495
496**参数:**
497
498| 参数名     | 类型     | 必填   | 说明          |
499| ------- | ------ | ---- | ----------- |
500| arguments | Object | 否    | 需要打印的其他日志。省略则仅打印堆栈信息。|
501
502**示例:**
503
504```js
505console.trace();
506// Trace:
507//     xxxxxxxxxx(当前堆栈信息)
508console.trace("Show the trace");
509// Trace: Show the trace
510//     xxxxxxxxxx(当前堆栈信息)
511```