The Console
method log()
outputs a message to the web console. The message may be a single string (with optional substitution values), or it may be any one or more JavaScript objects.
Syntax
console.log(obj1 [, obj2, ..., objN]); console.log(msg [, subst1, ..., substN]);
Parameters
obj1
...objN
- A list of JavaScript objects to output. The string representations of each of these objects are appended together in the order listed and output. Please be warned that if you log objects in the latest versions of Chrome and Firefox what you get logged on the console is a reference to the object, which is not necessarily the 'value' of the object at the moment in time you call
console.log()
, but it is the value of the object at the moment you open the console. msg
- A JavaScript string containing zero or more substitution strings.
subst1
...substN
- JavaScript objects with which to replace substitution strings within
msg
. This gives you additional control over the format of the output.
See Outputting text to the console in the documentation of console
for details.
Difference between log() and dir()
You might ask yourself what's the difference between console.dir()
and console.log()
.
Another useful difference in Chrome exists when sending DOM elements to the console.
Notice:
console.log
prints the element in an HTML-like treeconsole.dir
prints the element in a JSON-like tree
Specifically, console.log
gives special treatment to DOM elements, whereas console.dir
does not. This is often useful when trying to see the full representation of the DOM JS object.
There's more information in the Chrome Console API reference about this and other functions.
Logging objects
Don't use console.log(obj)
, use console.log(JSON.parse(JSON.stringify(obj)))
.
This way you are sure you are seeing the value of obj
at the moment you log it. Otherwise, many browsers provide a live view that constantly updates as values change. This may not be what you want.
Specifications
Specification | Status | Comment |
---|---|---|
Console API The definition of 'console.log()' in that specification. |
Living Standard | Initial definition |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
log | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 4 | IE Full support 8 | Opera Full support 10.5 | Safari Full support 3 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 11 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 |
Substitution strings | Chrome
Full support
Yes
| Edge
Full support
12
| Firefox Full support 9 | IE
Full support
10
| Opera ? | Safari ? | WebView Android
Full support
Yes
| Chrome Android
Full support
Yes
| Firefox Android Full support 9 | Opera Android ? | Safari iOS ? | Samsung Internet Android
Full support
Yes
|
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown
- See implementation notes.
- See implementation notes.
See also
- Opera Dragonfly documentation: Console
- MSDN: Using the F12 Tools Console to View Errors and Status
- Firebug wiki: Console API - Firebug supports additional features in its console.log() implementation, such as styled logging.
- NodeJS: Console API