2015-04-10 11:30:32 +02:00
|
|
|
|
# Console
|
2012-02-27 20:09:34 +01:00
|
|
|
|
|
2017-01-23 04:16:21 +01:00
|
|
|
|
<!--introduced_in=v0.10.13-->
|
|
|
|
|
|
2016-07-16 00:35:38 +02:00
|
|
|
|
> Stability: 2 - Stable
|
2012-03-03 00:14:03 +01:00
|
|
|
|
|
2015-12-26 18:13:23 +01:00
|
|
|
|
The `console` module provides a simple debugging console that is similar to the
|
|
|
|
|
JavaScript console mechanism provided by web browsers.
|
2015-04-10 11:30:32 +02:00
|
|
|
|
|
2015-12-26 18:13:23 +01:00
|
|
|
|
The module exports two specific components:
|
2015-04-10 11:30:32 +02:00
|
|
|
|
|
2015-12-26 18:13:23 +01:00
|
|
|
|
* A `Console` class with methods such as `console.log()`, `console.error()` and
|
|
|
|
|
`console.warn()` that can be used to write to any Node.js stream.
|
2017-01-18 15:38:29 +01:00
|
|
|
|
* A global `console` instance configured to write to [`process.stdout`][] and
|
2018-04-02 07:38:48 +02:00
|
|
|
|
[`process.stderr`][]. The global `console` can be used without calling
|
2015-12-26 18:13:23 +01:00
|
|
|
|
`require('console')`.
|
|
|
|
|
|
2017-01-18 15:38:29 +01:00
|
|
|
|
***Warning***: The global console object's methods are neither consistently
|
|
|
|
|
synchronous like the browser APIs they resemble, nor are they consistently
|
|
|
|
|
asynchronous like all other Node.js streams. See the [note on process I/O][] for
|
|
|
|
|
more information.
|
|
|
|
|
|
2015-12-26 18:13:23 +01:00
|
|
|
|
Example using the global `console`:
|
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
|
|
|
|
console.log('hello world');
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: hello world, to stdout
|
2016-01-17 18:39:07 +01:00
|
|
|
|
console.log('hello %s', 'world');
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: hello world, to stdout
|
2016-01-17 18:39:07 +01:00
|
|
|
|
console.error(new Error('Whoops, something bad happened'));
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: [Error: Whoops, something bad happened], to stderr
|
2016-01-17 18:39:07 +01:00
|
|
|
|
|
|
|
|
|
const name = 'Will Robinson';
|
|
|
|
|
console.warn(`Danger ${name}! Danger!`);
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: Danger Will Robinson! Danger!, to stderr
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```
|
2015-12-26 18:13:23 +01:00
|
|
|
|
|
|
|
|
|
Example using the `Console` class:
|
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
|
|
|
|
const out = getStreamSomehow();
|
|
|
|
|
const err = getStreamSomehow();
|
|
|
|
|
const myConsole = new console.Console(out, err);
|
2015-12-26 18:13:23 +01:00
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
myConsole.log('hello world');
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: hello world, to out
|
2016-01-17 18:39:07 +01:00
|
|
|
|
myConsole.log('hello %s', 'world');
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: hello world, to out
|
2016-01-17 18:39:07 +01:00
|
|
|
|
myConsole.error(new Error('Whoops, something bad happened'));
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: [Error: Whoops, something bad happened], to err
|
2015-12-26 18:13:23 +01:00
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
const name = 'Will Robinson';
|
|
|
|
|
myConsole.warn(`Danger ${name}! Danger!`);
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: Danger Will Robinson! Danger!, to err
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```
|
2015-12-26 18:13:23 +01:00
|
|
|
|
|
2015-11-04 16:51:43 +01:00
|
|
|
|
## Class: Console
|
2017-02-22 00:10:25 +01:00
|
|
|
|
<!-- YAML
|
|
|
|
|
changes:
|
2017-03-16 04:26:14 +01:00
|
|
|
|
- version: v8.0.0
|
2017-02-22 00:10:25 +01:00
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/9744
|
|
|
|
|
description: Errors that occur while writing to the underlying streams
|
|
|
|
|
will now be ignored.
|
|
|
|
|
-->
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
|
|
|
|
<!--type=class-->
|
|
|
|
|
|
2015-12-26 18:13:23 +01:00
|
|
|
|
The `Console` class can be used to create a simple logger with configurable
|
|
|
|
|
output streams and can be accessed using either `require('console').Console`
|
2017-06-01 00:21:22 +02:00
|
|
|
|
or `console.Console` (or their destructured counterparts):
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
2017-06-01 00:21:22 +02:00
|
|
|
|
const { Console } = require('console');
|
2017-04-21 06:53:00 +02:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```js
|
2017-06-01 00:21:22 +02:00
|
|
|
|
const { Console } = console;
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
|
|
|
|
### new Console(stdout[, stderr])
|
2018-01-29 23:15:53 +01:00
|
|
|
|
* `stdout` {stream.Writable}
|
|
|
|
|
* `stderr` {stream.Writable}
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2017-12-07 06:15:39 +01:00
|
|
|
|
Creates a new `Console` with one or two writable stream instances. `stdout` is a
|
|
|
|
|
writable stream to print log or info output. `stderr` is used for warning or
|
|
|
|
|
error output. If `stderr` is not provided, `stdout` is used for `stderr`.
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
|
|
|
|
const output = fs.createWriteStream('./stdout.log');
|
|
|
|
|
const errorOutput = fs.createWriteStream('./stderr.log');
|
|
|
|
|
// custom simple logger
|
|
|
|
|
const logger = new Console(output, errorOutput);
|
|
|
|
|
// use it like console
|
2016-12-25 18:57:12 +01:00
|
|
|
|
const count = 5;
|
2016-01-17 18:39:07 +01:00
|
|
|
|
logger.log('count: %d', count);
|
|
|
|
|
// in stdout.log: count 5
|
|
|
|
|
```
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
|
|
|
|
The global `console` is a special `Console` whose output is sent to
|
2016-02-14 18:01:45 +01:00
|
|
|
|
[`process.stdout`][] and [`process.stderr`][]. It is equivalent to calling:
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
|
|
|
|
new Console(process.stdout, process.stderr);
|
|
|
|
|
```
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2017-12-16 04:40:28 +01:00
|
|
|
|
### console.assert(value[, ...message])
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.101
|
2017-12-16 04:40:28 +01:00
|
|
|
|
changes:
|
|
|
|
|
- version: REPLACEME
|
2018-02-04 16:30:04 +01:00
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/17706
|
2017-12-16 04:40:28 +01:00
|
|
|
|
description: The implementation is now spec compliant and does not throw
|
|
|
|
|
anymore.
|
2016-05-26 17:28:32 +02:00
|
|
|
|
-->
|
2017-12-16 04:40:28 +01:00
|
|
|
|
* `value` {any} The value tested for being truthy.
|
|
|
|
|
* `...message` {any} All arguments besides `value` are used as error message.
|
2013-03-23 15:38:17 +01:00
|
|
|
|
|
2015-12-26 18:13:23 +01:00
|
|
|
|
A simple assertion test that verifies whether `value` is truthy. If it is not,
|
2017-12-16 04:40:28 +01:00
|
|
|
|
`Assertion failed` is logged. If provided, the error `message` is formatted
|
|
|
|
|
using [`util.format()`][] by passing along all message arguments. The output is
|
|
|
|
|
used as the error message.
|
2015-12-26 18:13:23 +01:00
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
|
|
|
|
console.assert(true, 'does nothing');
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// OK
|
2017-12-16 04:40:28 +01:00
|
|
|
|
console.assert(false, 'Whoops %s work', 'didn\'t');
|
|
|
|
|
// Assertion failed: Whoops didn't work
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```
|
2012-04-21 19:55:14 +02:00
|
|
|
|
|
2018-02-06 06:55:16 +01:00
|
|
|
|
Calling `console.assert()` with a falsy assertion will only cause the `message`
|
|
|
|
|
to be printed to the console without interrupting execution of subsequent code.
|
2016-04-12 20:27:29 +02:00
|
|
|
|
|
2017-04-26 21:42:18 +02:00
|
|
|
|
### console.clear()
|
|
|
|
|
<!-- YAML
|
2017-08-02 12:52:34 +02:00
|
|
|
|
added: v8.3.0
|
2017-04-26 21:42:18 +02:00
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
When `stdout` is a TTY, calling `console.clear()` will attempt to clear the
|
|
|
|
|
TTY. When `stdout` is not a TTY, this method does nothing.
|
|
|
|
|
|
2018-02-06 06:55:16 +01:00
|
|
|
|
The specific operation of `console.clear()` can vary across operating systems
|
|
|
|
|
and terminal types. For most Linux operating systems, `console.clear()`
|
2017-04-26 21:42:18 +02:00
|
|
|
|
operates similarly to the `clear` shell command. On Windows, `console.clear()`
|
|
|
|
|
will clear only the output in the current terminal viewport for the Node.js
|
|
|
|
|
binary.
|
|
|
|
|
|
|
|
|
|
### console.count([label])
|
|
|
|
|
<!-- YAML
|
2017-08-02 12:52:34 +02:00
|
|
|
|
added: v8.3.0
|
2017-04-26 21:42:18 +02:00
|
|
|
|
-->
|
|
|
|
|
|
2018-04-02 03:44:32 +02:00
|
|
|
|
* `label` {string} The display label for the counter. **Default:** `'default'`.
|
2017-04-26 21:42:18 +02:00
|
|
|
|
|
|
|
|
|
Maintains an internal counter specific to `label` and outputs to `stdout` the
|
|
|
|
|
number of times `console.count()` has been called with the given `label`.
|
|
|
|
|
|
|
|
|
|
<!-- eslint-skip -->
|
|
|
|
|
```js
|
|
|
|
|
> console.count()
|
|
|
|
|
default: 1
|
|
|
|
|
undefined
|
|
|
|
|
> console.count('default')
|
|
|
|
|
default: 2
|
|
|
|
|
undefined
|
|
|
|
|
> console.count('abc')
|
|
|
|
|
abc: 1
|
|
|
|
|
undefined
|
|
|
|
|
> console.count('xyz')
|
|
|
|
|
xyz: 1
|
|
|
|
|
undefined
|
|
|
|
|
> console.count('abc')
|
|
|
|
|
abc: 2
|
|
|
|
|
undefined
|
|
|
|
|
> console.count()
|
|
|
|
|
default: 3
|
|
|
|
|
undefined
|
|
|
|
|
>
|
|
|
|
|
```
|
|
|
|
|
|
2017-11-04 09:53:09 +01:00
|
|
|
|
### console.countReset([label='default'])
|
2017-04-26 21:42:18 +02:00
|
|
|
|
<!-- YAML
|
2017-08-02 12:52:34 +02:00
|
|
|
|
added: v8.3.0
|
2017-04-26 21:42:18 +02:00
|
|
|
|
-->
|
|
|
|
|
|
2018-04-02 03:44:32 +02:00
|
|
|
|
* `label` {string} The display label for the counter. **Default:** `'default'`.
|
2017-04-26 21:42:18 +02:00
|
|
|
|
|
|
|
|
|
Resets the internal counter specific to `label`.
|
|
|
|
|
|
|
|
|
|
<!-- eslint-skip -->
|
|
|
|
|
```js
|
|
|
|
|
> console.count('abc');
|
|
|
|
|
abc: 1
|
|
|
|
|
undefined
|
|
|
|
|
> console.countReset('abc');
|
|
|
|
|
undefined
|
|
|
|
|
> console.count('abc');
|
|
|
|
|
abc: 1
|
|
|
|
|
undefined
|
|
|
|
|
>
|
|
|
|
|
```
|
|
|
|
|
|
2017-11-14 23:59:57 +01:00
|
|
|
|
### console.debug(data[, ...args])
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
2017-11-14 00:08:58 +01:00
|
|
|
|
changes:
|
2018-03-25 12:01:33 +02:00
|
|
|
|
- version: v9.3.0
|
2017-11-14 00:08:58 +01:00
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/17033
|
|
|
|
|
description: "`console.debug` is now an alias for `console.log`."
|
2017-11-14 23:59:57 +01:00
|
|
|
|
-->
|
|
|
|
|
* `data` {any}
|
|
|
|
|
* `...args` {any}
|
|
|
|
|
|
|
|
|
|
The `console.debug()` function is an alias for [`console.log()`][].
|
|
|
|
|
|
2015-04-10 11:30:32 +02:00
|
|
|
|
### console.dir(obj[, options])
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.101
|
|
|
|
|
-->
|
2017-02-25 18:31:35 +01:00
|
|
|
|
* `obj` {any}
|
|
|
|
|
* `options` {Object}
|
2018-04-02 03:44:32 +02:00
|
|
|
|
* `showHidden` {boolean} If `true` then the object's non-enumerable and symbol
|
|
|
|
|
properties will be shown too. **Default:** `false`.
|
|
|
|
|
* `depth` {number} Tells [`util.inspect()`][] how many times to recurse while
|
|
|
|
|
formatting the object. This is useful for inspecting large complicated
|
|
|
|
|
objects. To make it recurse indefinitely, pass `null`. **Default:** `2`.
|
|
|
|
|
* `colors` {boolean} If `true`, then the output will be styled with ANSI color
|
|
|
|
|
codes. Colors are customizable;
|
|
|
|
|
see [customizing `util.inspect()` colors][]. **Default:** `false`.
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2016-02-14 18:01:45 +01:00
|
|
|
|
Uses [`util.inspect()`][] on `obj` and prints the resulting string to `stdout`.
|
2018-04-02 03:44:32 +02:00
|
|
|
|
This function bypasses any custom `inspect()` function defined on `obj`.
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2017-11-20 17:12:20 +01:00
|
|
|
|
### console.dirxml(...data)
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
|
|
|
|
changes:
|
2018-03-25 12:01:33 +02:00
|
|
|
|
- version: v9.3.0
|
2017-11-20 17:12:20 +01:00
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/17152
|
|
|
|
|
description: "`console.dirxml` now calls `console.log` for its arguments."
|
|
|
|
|
-->
|
|
|
|
|
* `...data` {any}
|
|
|
|
|
|
|
|
|
|
This method calls `console.log()` passing it the arguments received.
|
|
|
|
|
Please note that this method does not produce any XML formatting.
|
|
|
|
|
|
2016-08-30 07:35:03 +02:00
|
|
|
|
### console.error([data][, ...args])
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.100
|
|
|
|
|
-->
|
2017-02-25 18:31:35 +01:00
|
|
|
|
* `data` {any}
|
|
|
|
|
* `...args` {any}
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2016-02-14 18:01:45 +01:00
|
|
|
|
Prints to `stderr` with newline. Multiple arguments can be passed, with the
|
|
|
|
|
first used as the primary message and all additional used as substitution
|
2016-11-16 03:00:30 +01:00
|
|
|
|
values similar to printf(3) (the arguments are all passed to
|
2015-12-26 18:13:23 +01:00
|
|
|
|
[`util.format()`][]).
|
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
|
|
|
|
const code = 5;
|
|
|
|
|
console.error('error #%d', code);
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: error #5, to stderr
|
2016-01-17 18:39:07 +01:00
|
|
|
|
console.error('error', code);
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: error 5, to stderr
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```
|
2015-12-26 18:13:23 +01:00
|
|
|
|
|
|
|
|
|
If formatting elements (e.g. `%d`) are not found in the first string then
|
|
|
|
|
[`util.inspect()`][] is called on each argument and the resulting string
|
2016-02-14 18:01:45 +01:00
|
|
|
|
values are concatenated. See [`util.format()`][] for more information.
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2017-08-18 07:41:14 +02:00
|
|
|
|
### console.group([...label])
|
|
|
|
|
<!-- YAML
|
2017-09-10 04:58:50 +02:00
|
|
|
|
added: v8.5.0
|
2017-08-18 07:41:14 +02:00
|
|
|
|
-->
|
|
|
|
|
|
2017-11-04 09:53:09 +01:00
|
|
|
|
* `...label` {any}
|
2017-08-18 07:41:14 +02:00
|
|
|
|
|
|
|
|
|
Increases indentation of subsequent lines by two spaces.
|
|
|
|
|
|
|
|
|
|
If one or more `label`s are provided, those are printed first without the
|
|
|
|
|
additional indentation.
|
|
|
|
|
|
|
|
|
|
### console.groupCollapsed()
|
|
|
|
|
<!-- YAML
|
2017-09-10 04:58:50 +02:00
|
|
|
|
added: v8.5.0
|
2017-08-18 07:41:14 +02:00
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
An alias for [`console.group()`][].
|
|
|
|
|
|
|
|
|
|
### console.groupEnd()
|
|
|
|
|
<!-- YAML
|
2017-09-10 04:58:50 +02:00
|
|
|
|
added: v8.5.0
|
2017-08-18 07:41:14 +02:00
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
Decreases indentation of subsequent lines by two spaces.
|
|
|
|
|
|
2016-08-30 07:35:03 +02:00
|
|
|
|
### console.info([data][, ...args])
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.100
|
|
|
|
|
-->
|
2017-02-25 18:31:35 +01:00
|
|
|
|
* `data` {any}
|
|
|
|
|
* `...args` {any}
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2015-12-26 18:13:23 +01:00
|
|
|
|
The `console.info()` function is an alias for [`console.log()`][].
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2016-08-30 07:35:03 +02:00
|
|
|
|
### console.log([data][, ...args])
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.100
|
|
|
|
|
-->
|
2017-02-25 18:31:35 +01:00
|
|
|
|
* `data` {any}
|
|
|
|
|
* `...args` {any}
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2016-02-14 18:01:45 +01:00
|
|
|
|
Prints to `stdout` with newline. Multiple arguments can be passed, with the
|
|
|
|
|
first used as the primary message and all additional used as substitution
|
2016-11-16 03:00:30 +01:00
|
|
|
|
values similar to printf(3) (the arguments are all passed to
|
2015-12-26 18:13:23 +01:00
|
|
|
|
[`util.format()`][]).
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
2016-12-25 18:57:12 +01:00
|
|
|
|
const count = 5;
|
2016-01-17 18:39:07 +01:00
|
|
|
|
console.log('count: %d', count);
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: count: 5, to stdout
|
2016-07-27 04:25:08 +02:00
|
|
|
|
console.log('count:', count);
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: count: 5, to stdout
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2017-07-01 15:10:36 +02:00
|
|
|
|
See [`util.format()`][] for more information.
|
2015-11-04 16:51:43 +01:00
|
|
|
|
|
2018-01-13 20:55:19 +01:00
|
|
|
|
### console.table(tabularData[, properties])
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: REPLACEME
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
* `tabularData` {any}
|
|
|
|
|
* `properties` {string[]} Alternate properties for constructing the table.
|
|
|
|
|
|
|
|
|
|
Try to construct a table with the columns of the properties of `tabularData`
|
|
|
|
|
(or use `properties`) and rows of `tabularData` and logit. Falls back to just
|
|
|
|
|
logging the argument if it can’t be parsed as tabular.
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
// These can't be parsed as tabular data
|
|
|
|
|
console.table(Symbol());
|
|
|
|
|
// Symbol()
|
|
|
|
|
|
|
|
|
|
console.table(undefined);
|
|
|
|
|
// undefined
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);
|
|
|
|
|
// ┌─────────┬─────┬─────┐
|
|
|
|
|
// │ (index) │ a │ b │
|
|
|
|
|
// ├─────────┼─────┼─────┤
|
|
|
|
|
// │ 0 │ 1 │ 'Y' │
|
|
|
|
|
// │ 1 │ 'Z' │ 2 │
|
|
|
|
|
// └─────────┴─────┴─────┘
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
|
|
|
|
|
// ┌─────────┬─────┐
|
|
|
|
|
// │ (index) │ a │
|
|
|
|
|
// ├─────────┼─────┤
|
|
|
|
|
// │ 0 │ 1 │
|
|
|
|
|
// │ 1 │ 'Z' │
|
|
|
|
|
// └─────────┴─────┘
|
|
|
|
|
```
|
|
|
|
|
|
2015-10-29 20:22:12 +01:00
|
|
|
|
### console.time(label)
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.104
|
|
|
|
|
-->
|
2018-04-02 03:44:32 +02:00
|
|
|
|
* `label` {string} **Default:** `'default'`
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2015-10-07 20:01:36 +02:00
|
|
|
|
Starts a timer that can be used to compute the duration of an operation. Timers
|
2017-04-26 19:16:12 +02:00
|
|
|
|
are identified by a unique `label`. Use the same `label` when calling
|
2015-11-14 04:21:49 +01:00
|
|
|
|
[`console.timeEnd()`][] to stop the timer and output the elapsed time in
|
2016-05-30 14:27:36 +02:00
|
|
|
|
milliseconds to `stdout`. Timer durations are accurate to the sub-millisecond.
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2015-10-29 20:22:12 +01:00
|
|
|
|
### console.timeEnd(label)
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.104
|
2017-02-21 23:38:43 +01:00
|
|
|
|
changes:
|
|
|
|
|
- version: v6.0.0
|
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/5901
|
|
|
|
|
description: This method no longer supports multiple calls that don’t map
|
|
|
|
|
to individual `console.time()` calls; see below for details.
|
2016-05-26 17:28:32 +02:00
|
|
|
|
-->
|
2018-04-02 03:44:32 +02:00
|
|
|
|
* `label` {string} **Default:** `'default'`
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2015-12-10 05:19:30 +01:00
|
|
|
|
Stops a timer that was previously started by calling [`console.time()`][] and
|
2016-05-30 14:27:36 +02:00
|
|
|
|
prints the result to `stdout`:
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
|
|
|
|
console.time('100-elements');
|
2017-04-21 21:55:51 +02:00
|
|
|
|
for (let i = 0; i < 100; i++) {}
|
2016-01-17 18:39:07 +01:00
|
|
|
|
console.timeEnd('100-elements');
|
|
|
|
|
// prints 100-elements: 225.438ms
|
|
|
|
|
```
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2017-02-25 18:31:35 +01:00
|
|
|
|
### console.trace([message][, ...args])
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.104
|
|
|
|
|
-->
|
2017-02-25 18:31:35 +01:00
|
|
|
|
* `message` {any}
|
|
|
|
|
* `...args` {any}
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2016-02-14 18:01:45 +01:00
|
|
|
|
Prints to `stderr` the string `'Trace :'`, followed by the [`util.format()`][]
|
2015-12-26 18:13:23 +01:00
|
|
|
|
formatted message and stack trace to the current position in the code.
|
|
|
|
|
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```js
|
|
|
|
|
console.trace('Show me');
|
2016-11-08 21:04:57 +01:00
|
|
|
|
// Prints: (stack trace will vary based on where trace is called)
|
|
|
|
|
// Trace: Show me
|
|
|
|
|
// at repl:2:9
|
|
|
|
|
// at REPLServer.defaultEval (repl.js:248:27)
|
|
|
|
|
// at bound (domain.js:287:14)
|
|
|
|
|
// at REPLServer.runBound [as eval] (domain.js:300:12)
|
|
|
|
|
// at REPLServer.<anonymous> (repl.js:412:12)
|
|
|
|
|
// at emitOne (events.js:82:20)
|
|
|
|
|
// at REPLServer.emit (events.js:169:7)
|
|
|
|
|
// at REPLServer.Interface._onLine (readline.js:210:10)
|
|
|
|
|
// at REPLServer.Interface._line (readline.js:549:8)
|
|
|
|
|
// at REPLServer.Interface._ttyWrite (readline.js:826:14)
|
2016-01-17 18:39:07 +01:00
|
|
|
|
```
|
2011-04-19 01:52:53 +02:00
|
|
|
|
|
2016-08-30 07:35:03 +02:00
|
|
|
|
### console.warn([data][, ...args])
|
2016-05-26 17:28:32 +02:00
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v0.1.100
|
|
|
|
|
-->
|
2017-02-25 18:31:35 +01:00
|
|
|
|
* `data` {any}
|
|
|
|
|
* `...args` {any}
|
2015-04-10 11:30:32 +02:00
|
|
|
|
|
2015-12-26 18:13:23 +01:00
|
|
|
|
The `console.warn()` function is an alias for [`console.error()`][].
|
2015-11-14 04:21:49 +01:00
|
|
|
|
|
2017-11-14 00:08:58 +01:00
|
|
|
|
## Inspector only methods
|
|
|
|
|
The following methods are exposed by the V8 engine in the general API but do
|
|
|
|
|
not display anything unless used in conjunction with the [inspector][]
|
|
|
|
|
(`--inspect` flag).
|
|
|
|
|
|
|
|
|
|
### console.markTimeline(label)
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
|
|
|
|
-->
|
2018-04-02 03:44:32 +02:00
|
|
|
|
* `label` {string} **Default:** `'default'`
|
2017-11-14 00:08:58 +01:00
|
|
|
|
|
|
|
|
|
This method does not display anything unless used in the inspector. The
|
2018-02-12 08:31:55 +01:00
|
|
|
|
`console.markTimeline()` method is the deprecated form of
|
|
|
|
|
[`console.timeStamp()`][].
|
2017-11-14 00:08:58 +01:00
|
|
|
|
|
|
|
|
|
### console.profile([label])
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
|
|
|
|
-->
|
|
|
|
|
* `label` {string}
|
|
|
|
|
|
|
|
|
|
This method does not display anything unless used in the inspector. The
|
|
|
|
|
`console.profile()` method starts a JavaScript CPU profile with an optional
|
|
|
|
|
label until [`console.profileEnd()`][] is called. The profile is then added to
|
|
|
|
|
the **Profile** panel of the inspector.
|
|
|
|
|
```js
|
|
|
|
|
console.profile('MyLabel');
|
|
|
|
|
// Some code
|
|
|
|
|
console.profileEnd();
|
|
|
|
|
// Adds the profile 'MyLabel' to the Profiles panel of the inspector.
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### console.profileEnd()
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
This method does not display anything unless used in the inspector. Stops the
|
|
|
|
|
current JavaScript CPU profiling session if one has been started and prints
|
|
|
|
|
the report to the **Profiles** panel of the inspector. See
|
|
|
|
|
[`console.profile()`][] for an example.
|
|
|
|
|
|
|
|
|
|
### console.table(array[, columns])
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
|
|
|
|
-->
|
|
|
|
|
* `array` {Array|Object}
|
2018-04-09 14:25:04 +02:00
|
|
|
|
* `columns` {string[]} Display only selected properties of objects in the
|
|
|
|
|
`array`.
|
2017-11-14 00:08:58 +01:00
|
|
|
|
|
|
|
|
|
This method does not display anything unless used in the inspector. Prints to
|
|
|
|
|
`stdout` the array `array` formatted as a table.
|
|
|
|
|
|
|
|
|
|
### console.timeStamp([label])
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
|
|
|
|
-->
|
|
|
|
|
* `label` {string}
|
|
|
|
|
|
|
|
|
|
This method does not display anything unless used in the inspector. The
|
2018-04-09 18:30:22 +02:00
|
|
|
|
`console.timeStamp()` method adds an event with the label `'label'` to the
|
2017-11-14 00:08:58 +01:00
|
|
|
|
**Timeline** panel of the inspector.
|
|
|
|
|
|
|
|
|
|
### console.timeline([label])
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
|
|
|
|
-->
|
2018-04-02 03:44:32 +02:00
|
|
|
|
* `label` {string} **Default:** `'default'`
|
2017-11-14 00:08:58 +01:00
|
|
|
|
|
|
|
|
|
This method does not display anything unless used in the inspector. The
|
|
|
|
|
`console.timeline()` method is the deprecated form of [`console.time()`][].
|
|
|
|
|
|
|
|
|
|
### console.timelineEnd([label])
|
|
|
|
|
<!-- YAML
|
|
|
|
|
added: v8.0.0
|
|
|
|
|
-->
|
2018-04-02 03:44:32 +02:00
|
|
|
|
* `label` {string} **Default:** `'default'`
|
2017-11-14 00:08:58 +01:00
|
|
|
|
|
|
|
|
|
This method does not display anything unless used in the inspector. The
|
2018-02-12 08:31:55 +01:00
|
|
|
|
`console.timelineEnd()` method is the deprecated form of
|
|
|
|
|
[`console.timeEnd()`][].
|
2017-11-14 00:08:58 +01:00
|
|
|
|
|
2016-08-30 07:35:03 +02:00
|
|
|
|
[`console.error()`]: #console_console_error_data_args
|
2017-08-18 07:41:14 +02:00
|
|
|
|
[`console.group()`]: #console_console_group_label
|
2016-08-30 07:35:03 +02:00
|
|
|
|
[`console.log()`]: #console_console_log_data_args
|
2017-11-14 00:08:58 +01:00
|
|
|
|
[`console.profile()`]: #console_console_profile_label
|
|
|
|
|
[`console.profileEnd()`]: #console_console_profileend
|
2015-11-14 04:21:49 +01:00
|
|
|
|
[`console.time()`]: #console_console_time_label
|
2015-11-28 00:30:32 +01:00
|
|
|
|
[`console.timeEnd()`]: #console_console_timeend_label
|
2017-11-14 00:08:58 +01:00
|
|
|
|
[`console.timeStamp()`]: #console_console_timestamp_label
|
2016-02-14 18:01:45 +01:00
|
|
|
|
[`process.stderr`]: process.html#process_process_stderr
|
|
|
|
|
[`process.stdout`]: process.html#process_process_stdout
|
2016-08-30 07:35:03 +02:00
|
|
|
|
[`util.format()`]: util.html#util_util_format_format_args
|
2015-11-28 00:30:32 +01:00
|
|
|
|
[`util.inspect()`]: util.html#util_util_inspect_object_options
|
2016-02-14 18:01:45 +01:00
|
|
|
|
[customizing `util.inspect()` colors]: util.html#util_customizing_util_inspect_colors
|
2017-11-14 00:08:58 +01:00
|
|
|
|
[inspector]: debugger.html
|
2017-01-18 15:38:29 +01:00
|
|
|
|
[note on process I/O]: process.html#process_a_note_on_process_i_o
|