1e41f4b71Sopenharmony_ci# Console
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThe **console** module provides a simple debugging console, which is similar to the JavaScript console provided by the browser.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 3. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci## console.debug
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_cidebug(message: string, ...arguments: any[]): void
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ciPrints debugging information in formatted output mode.
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ciThis API can be used in ArkTS widgets since API version 9.
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci**System capability**: SystemCapability.ArkUI.ArkUI.Full
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci**Parameters**
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
22e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
23e41f4b71Sopenharmony_ci| message | string | Yes   | Text to be printed.|
24e41f4b71Sopenharmony_ci| arguments | any[] | No   | Arguments in the message or other information to be printed.|
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci**Example**
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci```js
29e41f4b71Sopenharmony_ciconst number = 5;
30e41f4b71Sopenharmony_ciconsole.debug('count: %d', number);  // Print the debugging information with arguments in the message replaced.
31e41f4b71Sopenharmony_ci// count: 5 
32e41f4b71Sopenharmony_ciconsole.debug('count:', number);  // Print the message and other information.
33e41f4b71Sopenharmony_ci// count: 5 
34e41f4b71Sopenharmony_ciconsole.debug('count:'); // Print the message only.
35e41f4b71Sopenharmony_ci// count: 
36e41f4b71Sopenharmony_ci```
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci## console.log
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_cilog(message: string, ...arguments: any[]): void
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ciPrints log information in formatted output mode.
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ciThis API can be used in ArkTS widgets since API version 9.
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci**System capability**: SystemCapability.ArkUI.ArkUI.Full
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci**Parameters**
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
51e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
52e41f4b71Sopenharmony_ci| message | string | Yes   | Text to be printed.|
53e41f4b71Sopenharmony_ci| arguments | any[] | No   |Arguments in the message or other information to be printed.|
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_ci**Example**
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci```js
58e41f4b71Sopenharmony_ciconst number = 5;
59e41f4b71Sopenharmony_ciconsole.log('count: %d', number);  // Print the log information with arguments in the message replaced.
60e41f4b71Sopenharmony_ci// count: 5 
61e41f4b71Sopenharmony_ciconsole.log('count:', number);  // Print the message and other information.
62e41f4b71Sopenharmony_ci// count: 5 
63e41f4b71Sopenharmony_ciconsole.log('count:'); // Print the message only.
64e41f4b71Sopenharmony_ci// count: 
65e41f4b71Sopenharmony_ci```
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_ci## console.info
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ciinfo(message: string, ...arguments: any[]): void
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ciPrints log information in formatted output mode. This API is the alias of **console.log ()**.
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ciThis API can be used in ArkTS widgets since API version 9.
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci**System capability**: SystemCapability.ArkUI.ArkUI.Full
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci**Parameters**
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
80e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
81e41f4b71Sopenharmony_ci| message | string | Yes   | Text to be printed.|
82e41f4b71Sopenharmony_ci| arguments | any[] | No   | Arguments in the message or other information to be printed.|
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci**Example**
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci```js
87e41f4b71Sopenharmony_ciconst number = 5;
88e41f4b71Sopenharmony_ciconsole.info('count: %d', number);  // Print the log information with arguments in the message replaced.
89e41f4b71Sopenharmony_ci// count: 5 
90e41f4b71Sopenharmony_ciconsole.info('count:', number);  // Print the message and other information.
91e41f4b71Sopenharmony_ci// count: 5 
92e41f4b71Sopenharmony_ciconsole.info('count:'); // Print the message only.
93e41f4b71Sopenharmony_ci// count: 
94e41f4b71Sopenharmony_ci```
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci## console.warn
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ciwarn(message: string, ...arguments: any[]): void
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ciPrints warning information in formatted output mode.
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ciThis API can be used in ArkTS widgets since API version 9.
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci**System capability**: SystemCapability.ArkUI.ArkUI.Full
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci**Parameters**
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
109e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
110e41f4b71Sopenharmony_ci| message | string | Yes   | Warning information to be printed.|
111e41f4b71Sopenharmony_ci| arguments | any[] | No   | Arguments in the message or other information to be printed.|
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_ci**Example**
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci```js
116e41f4b71Sopenharmony_ciconst str = "name should be string";
117e41f4b71Sopenharmony_ciconsole.warn('warn: %d', str); // Print the warning information with arguments in the message replaced.
118e41f4b71Sopenharmony_ci// warn: name should be string
119e41f4b71Sopenharmony_ciconsole.warn('warn:', str);  // Print the message and other information.
120e41f4b71Sopenharmony_ci// warn: name should be string
121e41f4b71Sopenharmony_ciconsole.warn('warn:'); // Print the message only.
122e41f4b71Sopenharmony_ci// warn: 
123e41f4b71Sopenharmony_ci```
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci## console.error
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_cierror(message: string, ...arguments: any[]): void
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ciPrints error information in formatted output mode.
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ciThis API can be used in ArkTS widgets since API version 9.
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci**System capability**: SystemCapability.ArkUI.ArkUI.Full
134e41f4b71Sopenharmony_ci
135e41f4b71Sopenharmony_ci**Parameters**
136e41f4b71Sopenharmony_ci
137e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
138e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
139e41f4b71Sopenharmony_ci| message | string | Yes   | Error information to be printed.|
140e41f4b71Sopenharmony_ci| arguments | any[] | No   | Arguments in the message or other information to be printed.|
141e41f4b71Sopenharmony_ci
142e41f4b71Sopenharmony_ci
143e41f4b71Sopenharmony_ci**Example**
144e41f4b71Sopenharmony_ci
145e41f4b71Sopenharmony_ci```js
146e41f4b71Sopenharmony_ciconst str = "value is not defined";
147e41f4b71Sopenharmony_ciconsole.error('error: %d', str);  // Print the error information with arguments in the message replaced.
148e41f4b71Sopenharmony_ci// error: value is not defined
149e41f4b71Sopenharmony_ciconsole.error('error:', str);  // Print the message and other information.
150e41f4b71Sopenharmony_ci// error: value is not defined
151e41f4b71Sopenharmony_ciconsole.error('error:'); // Print the message only.
152e41f4b71Sopenharmony_ci// error: 
153e41f4b71Sopenharmony_ci```
154e41f4b71Sopenharmony_ci
155e41f4b71Sopenharmony_ci## console.assert<sup>10+</sup>
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_ciassert(value?: Object, ...arguments: Object[]): void
158e41f4b71Sopenharmony_ci
159e41f4b71Sopenharmony_ciPrints assertion information.
160e41f4b71Sopenharmony_ci
161e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
162e41f4b71Sopenharmony_ci
163e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
164e41f4b71Sopenharmony_ci
165e41f4b71Sopenharmony_ci**Parameters**
166e41f4b71Sopenharmony_ci
167e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
168e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
169e41f4b71Sopenharmony_ci| value | Object | No   | Result value. If **value** is **false** or left blank, the output starting with "Assertion failed" is printed. If **value** is **true**, no information is printed.|
170e41f4b71Sopenharmony_ci| arguments | Object | No   | Other information to be printed when **value** is **false**. If this parameter is left blank, other information is not printed.|
171e41f4b71Sopenharmony_ci
172e41f4b71Sopenharmony_ci**Example**
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ci```js
175e41f4b71Sopenharmony_ciconsole.assert(true, 'does nothing');  // Do not print error information as value is true.
176e41f4b71Sopenharmony_ciconsole.assert(2% 1 == 0,'does nothing');  // Do not print error information as value is true.
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ciconsole.assert(false, 'console %s work', 'didn\'t');
179e41f4b71Sopenharmony_ci// Assertion failed: console didn't work
180e41f4b71Sopenharmony_ci
181e41f4b71Sopenharmony_ciconsole.assert();
182e41f4b71Sopenharmony_ci// Assertion failed
183e41f4b71Sopenharmony_ci```
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ci## console.count<sup>10+</sup>
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_cicount(label?: string): void
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ciMaintains an internal counter. When this counter is invoked, its label name and the corresponding call count are printed.
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
192e41f4b71Sopenharmony_ci
193e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
194e41f4b71Sopenharmony_ci
195e41f4b71Sopenharmony_ci**Parameters**
196e41f4b71Sopenharmony_ci
197e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
198e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
199e41f4b71Sopenharmony_ci| label | string | No   | Counter label name. The default value is **default**.|
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ci
202e41f4b71Sopenharmony_ci**Example**
203e41f4b71Sopenharmony_ci
204e41f4b71Sopenharmony_ci```js
205e41f4b71Sopenharmony_ciconsole.count()
206e41f4b71Sopenharmony_ci// default: 1
207e41f4b71Sopenharmony_ciconsole.count('default')
208e41f4b71Sopenharmony_ci// default: 2
209e41f4b71Sopenharmony_ciconsole.count('abc')
210e41f4b71Sopenharmony_ci// abc: 1
211e41f4b71Sopenharmony_ciconsole.count('xyz')
212e41f4b71Sopenharmony_ci// xyz: 1
213e41f4b71Sopenharmony_ciconsole.count('abc')
214e41f4b71Sopenharmony_ci// abc: 2
215e41f4b71Sopenharmony_ciconsole.count()
216e41f4b71Sopenharmony_ci// default: 3
217e41f4b71Sopenharmony_ci```
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci## console.countReset<sup>10+</sup>
220e41f4b71Sopenharmony_ci
221e41f4b71Sopenharmony_cicountReset(label?: string): void
222e41f4b71Sopenharmony_ci
223e41f4b71Sopenharmony_ciResets a counter based on the specified label name.
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
226e41f4b71Sopenharmony_ci
227e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
228e41f4b71Sopenharmony_ci
229e41f4b71Sopenharmony_ci**Parameters**
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
232e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
233e41f4b71Sopenharmony_ci| label | string | No   | Counter label name. The default value is **default**.|
234e41f4b71Sopenharmony_ci
235e41f4b71Sopenharmony_ci**Example**
236e41f4b71Sopenharmony_ci
237e41f4b71Sopenharmony_ci```js
238e41f4b71Sopenharmony_ciconsole.count('abc');
239e41f4b71Sopenharmony_ci// abc: 1
240e41f4b71Sopenharmony_ciconsole.countReset('abc');
241e41f4b71Sopenharmony_ciconsole.count('abc');
242e41f4b71Sopenharmony_ci// abc: 1
243e41f4b71Sopenharmony_ci```
244e41f4b71Sopenharmony_ci
245e41f4b71Sopenharmony_ci## console.dir<sup>10+</sup>
246e41f4b71Sopenharmony_ci
247e41f4b71Sopenharmony_cidir(dir?: Object): void
248e41f4b71Sopenharmony_ci
249e41f4b71Sopenharmony_ciPrints content of the specified object.
250e41f4b71Sopenharmony_ci
251e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
252e41f4b71Sopenharmony_ci
253e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci**Parameters**
256e41f4b71Sopenharmony_ci
257e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
258e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
259e41f4b71Sopenharmony_ci| dir | Object | No   | Object whose content needs to be printed. If this parameter is left blank, no information is printed.|
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci
262e41f4b71Sopenharmony_ci**Example**
263e41f4b71Sopenharmony_ci
264e41f4b71Sopenharmony_ci```js
265e41f4b71Sopenharmony_ciclass bar {
266e41f4b71Sopenharmony_ci  baz: boolean = true;
267e41f4b71Sopenharmony_ci}
268e41f4b71Sopenharmony_cilet b: bar = {baz: true}
269e41f4b71Sopenharmony_ciclass foo{
270e41f4b71Sopenharmony_ci  bar: bar = b;
271e41f4b71Sopenharmony_ci}
272e41f4b71Sopenharmony_cilet c: foo = {bar: b}
273e41f4b71Sopenharmony_ciclass  c1{
274e41f4b71Sopenharmony_ci  foo: foo = c;
275e41f4b71Sopenharmony_ci}
276e41f4b71Sopenharmony_cilet a: c1 = {foo: c}
277e41f4b71Sopenharmony_ciconsole.dir(a);
278e41f4b71Sopenharmony_ci// Object: {"foo":{"bar":{"baz":true}}}
279e41f4b71Sopenharmony_ci
280e41f4b71Sopenharmony_ciconsole.dir(); // No information is printed.
281e41f4b71Sopenharmony_ci```
282e41f4b71Sopenharmony_ci
283e41f4b71Sopenharmony_ci
284e41f4b71Sopenharmony_ci## console.dirxml<sup>10+</sup>
285e41f4b71Sopenharmony_ci
286e41f4b71Sopenharmony_cidirxml(...arguments: Object[]): void 
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ciDisplays an interactive tree of the descendant elements of the specified XML element. This API is implemented by calling **console.log()** internally. It does not produce any XML elements. The usage method is the same as that of **console.log()**.
289e41f4b71Sopenharmony_ci
290e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
293e41f4b71Sopenharmony_ci
294e41f4b71Sopenharmony_ci**Parameters**
295e41f4b71Sopenharmony_ci
296e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
297e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
298e41f4b71Sopenharmony_ci| arguments | Object | Yes   | Information to be printed.|
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_ci**Example**
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ci```js
303e41f4b71Sopenharmony_ciconst number = 5;
304e41f4b71Sopenharmony_ciconsole.dirxml('count: %d', number);
305e41f4b71Sopenharmony_ci// count: 5 
306e41f4b71Sopenharmony_ciconsole.dirxml('count:', number);
307e41f4b71Sopenharmony_ci// count: 5 
308e41f4b71Sopenharmony_ciconsole.dirxml('count:');
309e41f4b71Sopenharmony_ci// count: 
310e41f4b71Sopenharmony_ci```
311e41f4b71Sopenharmony_ci
312e41f4b71Sopenharmony_ci## console.group<sup>10+</sup>
313e41f4b71Sopenharmony_ci
314e41f4b71Sopenharmony_cigroup(...arguments: Object[]): void
315e41f4b71Sopenharmony_ci
316e41f4b71Sopenharmony_ciIncreases the indentation of subsequent lines by two spaces.
317e41f4b71Sopenharmony_ciIf the information to be printed is provided, the information is printed without extra indentation.
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
320e41f4b71Sopenharmony_ci
321e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
322e41f4b71Sopenharmony_ci
323e41f4b71Sopenharmony_ci**Parameters**
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
326e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
327e41f4b71Sopenharmony_ci| arguments | Object | No   | Information to be printed.|
328e41f4b71Sopenharmony_ci
329e41f4b71Sopenharmony_ci**Example**
330e41f4b71Sopenharmony_ci
331e41f4b71Sopenharmony_ci```js
332e41f4b71Sopenharmony_ciconsole.log("outter");
333e41f4b71Sopenharmony_ci// outter
334e41f4b71Sopenharmony_ciconsole.group();
335e41f4b71Sopenharmony_ciconsole.log("level 1");
336e41f4b71Sopenharmony_ci//   level 1
337e41f4b71Sopenharmony_ciconsole.group("in level1");
338e41f4b71Sopenharmony_ci//   in level1
339e41f4b71Sopenharmony_ciconsole.log("level 2");
340e41f4b71Sopenharmony_ci//     level 2
341e41f4b71Sopenharmony_ci```
342e41f4b71Sopenharmony_ci
343e41f4b71Sopenharmony_ci
344e41f4b71Sopenharmony_ci## console.groupCollapsed<sup>10+</sup>
345e41f4b71Sopenharmony_ci
346e41f4b71Sopenharmony_cigroupCollapsed(...arguments: Object[]): void
347e41f4b71Sopenharmony_ci
348e41f4b71Sopenharmony_ciCreates a new inline group in collapsed mode. The usage and function of this API are the same as those of **console.group()**.
349e41f4b71Sopenharmony_ci
350e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
351e41f4b71Sopenharmony_ci
352e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
353e41f4b71Sopenharmony_ci
354e41f4b71Sopenharmony_ci**Parameters**
355e41f4b71Sopenharmony_ci
356e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
357e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
358e41f4b71Sopenharmony_ci| arguments | Object | No   | Information to be printed.|
359e41f4b71Sopenharmony_ci
360e41f4b71Sopenharmony_ci
361e41f4b71Sopenharmony_ci**Example**
362e41f4b71Sopenharmony_ci
363e41f4b71Sopenharmony_ci```js
364e41f4b71Sopenharmony_ciconsole.groupCollapsed("outter");
365e41f4b71Sopenharmony_ci// outter
366e41f4b71Sopenharmony_ciconsole.groupCollapsed();
367e41f4b71Sopenharmony_ciconsole.log("level 1");
368e41f4b71Sopenharmony_ci//   level 1
369e41f4b71Sopenharmony_ciconsole.groupCollapsed("in level1");
370e41f4b71Sopenharmony_ci//   in level1
371e41f4b71Sopenharmony_ciconsole.log("level 2");
372e41f4b71Sopenharmony_ci//     level 2
373e41f4b71Sopenharmony_ci```
374e41f4b71Sopenharmony_ci
375e41f4b71Sopenharmony_ci## console.groupEnd<sup>10+</sup>
376e41f4b71Sopenharmony_ci
377e41f4b71Sopenharmony_cigroupEnd(): void
378e41f4b71Sopenharmony_ci
379e41f4b71Sopenharmony_ciReduces the indentation of subsequent lines by two spaces.
380e41f4b71Sopenharmony_ci
381e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
382e41f4b71Sopenharmony_ci
383e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
384e41f4b71Sopenharmony_ci
385e41f4b71Sopenharmony_ci
386e41f4b71Sopenharmony_ci**Example**
387e41f4b71Sopenharmony_ci
388e41f4b71Sopenharmony_ci```js
389e41f4b71Sopenharmony_ciconsole.log("outter");
390e41f4b71Sopenharmony_ci// outter
391e41f4b71Sopenharmony_ciconsole.group();
392e41f4b71Sopenharmony_ciconsole.log("level 1");
393e41f4b71Sopenharmony_ci//   level 1
394e41f4b71Sopenharmony_ciconsole.groupEnd();
395e41f4b71Sopenharmony_ciconsole.log("outter");
396e41f4b71Sopenharmony_ci// outter
397e41f4b71Sopenharmony_ci```
398e41f4b71Sopenharmony_ci
399e41f4b71Sopenharmony_ci
400e41f4b71Sopenharmony_ci## console.table<sup>10+</sup>
401e41f4b71Sopenharmony_ci
402e41f4b71Sopenharmony_citable(tableData?: Object): void
403e41f4b71Sopenharmony_ci
404e41f4b71Sopenharmony_ciPrints data in a table.
405e41f4b71Sopenharmony_ci
406e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
407e41f4b71Sopenharmony_ci
408e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
409e41f4b71Sopenharmony_ci
410e41f4b71Sopenharmony_ci**Parameters**
411e41f4b71Sopenharmony_ci
412e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
413e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
414e41f4b71Sopenharmony_ci| tableData | Object | No   | Data to be printed in a table. If this parameter is left blank, no information is printed.|
415e41f4b71Sopenharmony_ci
416e41f4b71Sopenharmony_ci**Example**
417e41f4b71Sopenharmony_ci
418e41f4b71Sopenharmony_ci```js
419e41f4b71Sopenharmony_ciconsole.table([1, 2, 3]);
420e41f4b71Sopenharmony_ci// ┌─────────┬────────┐
421e41f4b71Sopenharmony_ci// │ (index) │ Values │
422e41f4b71Sopenharmony_ci// ├─────────┼────────┤
423e41f4b71Sopenharmony_ci// │    0    │   1    │
424e41f4b71Sopenharmony_ci// │    1    │   2    │
425e41f4b71Sopenharmony_ci// │    2    │   3    │ 
426e41f4b71Sopenharmony_ci// └─────────┴────────┘
427e41f4b71Sopenharmony_ci
428e41f4b71Sopenharmony_ciconsole.table({ a: [1, 2, 3, 4, 5], b: 5, c: { e: 5 } });
429e41f4b71Sopenharmony_ci
430e41f4b71Sopenharmony_ci// ┌─────────┬───┬───┬───┬───┬───┬───┬────────┐
431e41f4b71Sopenharmony_ci// │ (index) │ 0 │ 1 │ 2 │ 3 │ 4 │ e │ Values │
432e41f4b71Sopenharmony_ci// ├─────────┼───┼───┼───┼───┼───┼───┼────────┤
433e41f4b71Sopenharmony_ci// │    a    │ 1 │ 2 │ 3 │ 4 │ 5 │   │        │
434e41f4b71Sopenharmony_ci// │    b    │   │   │   │   │   │   │   5    │
435e41f4b71Sopenharmony_ci// │    c    │   │   │   │   │   │ 5 │        │
436e41f4b71Sopenharmony_ci// └─────────┴───┴───┴───┴───┴───┴───┴────────┘
437e41f4b71Sopenharmony_ci```
438e41f4b71Sopenharmony_ci
439e41f4b71Sopenharmony_ci## console.time<sup>10+</sup>
440e41f4b71Sopenharmony_ci
441e41f4b71Sopenharmony_citime(label?: string): void
442e41f4b71Sopenharmony_ci
443e41f4b71Sopenharmony_ciStarts a timer to track the duration of an operation. You can use **console.timeEnd()** to close the timer and print the elapsed time (in ms).
444e41f4b71Sopenharmony_ci
445e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
446e41f4b71Sopenharmony_ci
447e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
448e41f4b71Sopenharmony_ci
449e41f4b71Sopenharmony_ci**Parameters**
450e41f4b71Sopenharmony_ci
451e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
452e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
453e41f4b71Sopenharmony_ci| label | string | No   | Timer label. The default value is **default**.|
454e41f4b71Sopenharmony_ci
455e41f4b71Sopenharmony_ci**Example**
456e41f4b71Sopenharmony_ci
457e41f4b71Sopenharmony_ci```js
458e41f4b71Sopenharmony_ciconsole.time('abc');
459e41f4b71Sopenharmony_ci```
460e41f4b71Sopenharmony_ci
461e41f4b71Sopenharmony_ci## console.timeEnd<sup>10+</sup>
462e41f4b71Sopenharmony_ci
463e41f4b71Sopenharmony_citimeEnd(label?: string): void
464e41f4b71Sopenharmony_ci
465e41f4b71Sopenharmony_ciStops the timer started by calling **console.time()** and prints the elapsed time (in ms).
466e41f4b71Sopenharmony_ci
467e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
468e41f4b71Sopenharmony_ci
469e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
470e41f4b71Sopenharmony_ci
471e41f4b71Sopenharmony_ci**Parameters**
472e41f4b71Sopenharmony_ci
473e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
474e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
475e41f4b71Sopenharmony_ci| label | string | No   | Timer label. The default value is **default**.|
476e41f4b71Sopenharmony_ci
477e41f4b71Sopenharmony_ci**Example**
478e41f4b71Sopenharmony_ci
479e41f4b71Sopenharmony_ci```js
480e41f4b71Sopenharmony_ciconsole.time('abc');
481e41f4b71Sopenharmony_ciconsole.timeEnd('abc');
482e41f4b71Sopenharmony_ci// abc: 225.438ms
483e41f4b71Sopenharmony_ci```
484e41f4b71Sopenharmony_ci
485e41f4b71Sopenharmony_ci## console.timeLog<sup>10+</sup>
486e41f4b71Sopenharmony_ci
487e41f4b71Sopenharmony_citimeLog(label?: string, ...arguments: Object[]): void
488e41f4b71Sopenharmony_ci
489e41f4b71Sopenharmony_ciPrints the elapsed time and other data parameters for the timer started by **console.time()**.
490e41f4b71Sopenharmony_ci
491e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
492e41f4b71Sopenharmony_ci
493e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
494e41f4b71Sopenharmony_ci
495e41f4b71Sopenharmony_ci**Parameters**
496e41f4b71Sopenharmony_ci
497e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
498e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
499e41f4b71Sopenharmony_ci| label | string | No   | Timer label. The default value is **default**.|
500e41f4b71Sopenharmony_ci| arguments | Object | No   | Logs to be printed.|
501e41f4b71Sopenharmony_ci
502e41f4b71Sopenharmony_ci**Example**
503e41f4b71Sopenharmony_ci
504e41f4b71Sopenharmony_ci```js
505e41f4b71Sopenharmony_ciconsole.time('timer1');
506e41f4b71Sopenharmony_ciconsole.timeLog('timer1', 17);
507e41f4b71Sopenharmony_ci// timer1: 365.227ms 17
508e41f4b71Sopenharmony_ciconsole.timeEnd('timer1');
509e41f4b71Sopenharmony_ci// timer1: 513.22ms
510e41f4b71Sopenharmony_ci```
511e41f4b71Sopenharmony_ci
512e41f4b71Sopenharmony_ci## console.trace<sup>10+</sup>
513e41f4b71Sopenharmony_ci
514e41f4b71Sopenharmony_cistatic trace(...arguments: Object[]): void
515e41f4b71Sopenharmony_ci
516e41f4b71Sopenharmony_ciCreates a stack trace.
517e41f4b71Sopenharmony_ci
518e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
519e41f4b71Sopenharmony_ci
520e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
521e41f4b71Sopenharmony_ci
522e41f4b71Sopenharmony_ci**Parameters**
523e41f4b71Sopenharmony_ci
524e41f4b71Sopenharmony_ci| Name    | Type    | Mandatory  | Description         |
525e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ----------- |
526e41f4b71Sopenharmony_ci| arguments | Object | No   | Logs to be printed. If this parameter is left blank, only stack information is printed.|
527e41f4b71Sopenharmony_ci
528e41f4b71Sopenharmony_ci**Example**
529e41f4b71Sopenharmony_ci
530e41f4b71Sopenharmony_ci```js
531e41f4b71Sopenharmony_ciconsole.trace();
532e41f4b71Sopenharmony_ci// Trace:
533e41f4b71Sopenharmony_ci//     xxxxxxxxxx (current stack information)
534e41f4b71Sopenharmony_ciconsole.trace("Show the trace");
535e41f4b71Sopenharmony_ci// Trace: Show the trace
536e41f4b71Sopenharmony_ci//     xxxxxxxxxx (current stack information)
537e41f4b71Sopenharmony_ci```
538e41f4b71Sopenharmony_ci
539e41f4b71Sopenharmony_ci## console.traceHybridStack<sup>12+</sup>
540e41f4b71Sopenharmony_ci
541e41f4b71Sopenharmony_cistatic traceHybridStack(): void
542e41f4b71Sopenharmony_ci
543e41f4b71Sopenharmony_ciPrints information about the current hybrid stack of the calling thread in the main thread or worker thread.
544e41f4b71Sopenharmony_ci
545e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12.
546e41f4b71Sopenharmony_ci
547e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Utils.Lang
548e41f4b71Sopenharmony_ci
549e41f4b71Sopenharmony_ci**Example**
550e41f4b71Sopenharmony_ci
551e41f4b71Sopenharmony_ci```ts
552e41f4b71Sopenharmony_ciconsole.traceHybridStack();
553e41f4b71Sopenharmony_ci// TraceHybridStack:
554e41f4b71Sopenharmony_ci// xxxxxxxxxxxxx (information about the current hybrid stack of the calling thread)
555e41f4b71Sopenharmony_ci```
556