- Assertion Testing
- Buffer
- C++ Addons
- C/C++ Addons - N-API
- Child Processes
- Cluster
- Command Line Options
- Console
- Crypto
- Debugger
- DNS
- Domain
- Errors
- Events
- File System
- Globals
- HTTP
- HTTPS
- Internationalization
- Modules
- Net
- OS
- Path
- Process
- Punycode
- Query Strings
- Readline
- REPL
- Stream
- String Decoder
- Timers
- TLS/SSL
- TTY
- UDP/Datagram
- URL
- Utilities
- V8
- VM
- ZLIB
Node.js v6.17.1 Documentation
Table of Contents
- Console
- Class: Console
- new Console(stdout[, stderr])
- console.assert(value[, message][, ...args])
- console.clear()
- console.count([label])
- console.countReset([label = 'default'])
- console.dir(obj[, options])
- console.error([data][, ...args])
- console.info([data][, ...args])
- console.log([data][, ...args])
- console.time(label)
- console.timeEnd(label)
- console.trace(message[, ...args])
- console.warn([data][, ...args])
- Class: Console
Console#
The console module provides a simple debugging console that is similar to the
JavaScript console mechanism provided by web browsers.
The module exports two specific components:
- A
Consoleclass with methods such asconsole.log(),console.error()andconsole.warn()that can be used to write to any Node.js stream. - A global
consoleinstance configured to write toprocess.stdoutandprocess.stderr. The globalconsolecan be used without callingrequire('console').
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.
Example using the global console:
console.log('hello world');
// Prints: hello world, to stdout
console.log('hello %s', 'world');
// Prints: hello world, to stdout
console.error(new Error('Whoops, something bad happened'));
// Prints: [Error: Whoops, something bad happened], to stderr
const name = 'Will Robinson';
console.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to stderr
Example using the Console class:
const out = getStreamSomehow();
const err = getStreamSomehow();
const myConsole = new console.Console(out, err);
myConsole.log('hello world');
// Prints: hello world, to out
myConsole.log('hello %s', 'world');
// Prints: hello world, to out
myConsole.error(new Error('Whoops, something bad happened'));
// Prints: [Error: Whoops, something bad happened], to err
const name = 'Will Robinson';
myConsole.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to err
Class: Console#
The Console class can be used to create a simple logger with configurable
output streams and can be accessed using either require('console').Console
or console.Console:
const Console = require('console').Console;
const Console = console.Console;
new Console(stdout[, stderr])#
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.
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
const count = 5;
logger.log('count: %d', count);
// in stdout.log: count 5
The global console is a special Console whose output is sent to
process.stdout and process.stderr. It is equivalent to calling:
new Console(process.stdout, process.stderr);
console.assert(value[, message][, ...args])#
A simple assertion test that verifies whether value is truthy. If it is not,
an AssertionError is thrown. If provided, the error message is formatted
using util.format() and used as the error message.
console.assert(true, 'does nothing');
// OK
console.assert(false, 'Whoops %s', 'didn\'t work');
// AssertionError: Whoops didn't work
Note: the console.assert() method is implemented differently in Node.js
than the console.assert() method available in browsers.
Specifically, in browsers, calling console.assert() with a falsy
assertion will cause the message to be printed to the console without
interrupting execution of subsequent code. In Node.js, however, a falsy
assertion will cause an AssertionError to be thrown.
Functionality approximating that implemented by browsers can be implemented
by extending Node.js' console and overriding the console.assert() method.
In the following example, a simple module is created that extends and overrides
the default behavior of console in Node.js.
'use strict';
// Creates a simple extension of console with a
// new impl for assert without monkey-patching.
const myConsole = Object.create(console, {
assert: {
value(assertion, message, ...args) {
try {
console.assert(assertion, message, ...args);
} catch (err) {
console.error(err.stack);
}
},
configurable: true,
enumerable: true,
writable: true,
},
});
module.exports = myConsole;
This can then be used as a direct replacement for the built in console:
const console = require('./myConsole');
console.assert(false, 'this message will print, but no error thrown');
console.log('this will also print');
console.clear()#
When stdout is a TTY, calling console.clear() will attempt to clear the
TTY. When stdout is not a TTY, this method does nothing.
Note: The specific operation of console.clear() can vary across operating
systems and terminal types. For most Linux operating systems, console.clear()
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])#
label<string> The display label for the counter. Defaults to'default'.
Maintains an internal counter specific to label and outputs to stdout the
number of times console.count() has been called with the given label.
> 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
>
console.countReset([label = 'default'])#
label<string> The display label for the counter. Defaults to'default'.