Node.js console.log vs console.info
What is the benefit of using console.log
vs console.info
?
Or any of the other console commands for that matter?
console.info("info");
console.error("error");
console.warn("warn");
vs
console.log("log");
I thought it might change the color of the output or concatenate some sort of label, but they seem to all do the same thing. And according to the documentation here:
https://nodejs.org/api/console.html#console_console_info_data
they seem to all do the same as console.log
Solution 1:
According to the documentation that you linked to, console.error
and console.warn
outputs to stderr
. The others output to stdout
.
If you are doing piping or redirection from node.js
the difference is important.
There is a lot of JavaScript written to run in both the browser and Node.js
. Having node implement the full console allows for greater code cross-compatibility.
In most browsers, not only do these log in different colors, but you can also filter to see specific messages.
console.info("info");
console.error("error");
console.warn("warn");
console.log("log");
Solution 2:
While console.log
and console.info
might not be different, there are other uses except mere coloring. For example, when using a linter like eslint, you can set console.log
to provide a warning message. Let's say you only want to use console.log
for your development purposes and use console.info
for information that end users might need. With a linter you now have a visible and direct reminder of your temporary console.log
that aid you during development, but must be removed before commits/publishing.
Solution 3:
According to the docs it's pretty clear.
console.info([data], [...])# Same as console.log.
console.error([data], [...])# Same as console.log but prints to stderr.
console.warn([data], [...])# Same as console.error.
This means there is no benefit or downside. info
== log
, and warn
== error
. Unless you want to print to stderr
, info
and or log
will work.
Solution 4:
console.log()
is shorter than console.info()
They're the same thing, and that's the only advantage.
Solution 5:
Visually, No difference actually among console.log
, console.info
, console.warn
, as well as console.error
regarding the server side(terminal).
However, there are lightweight modules that add blue, orange and red colors for console.info
, console.warn
, as well as console.error
respectively . By that, console API behaves like client-side.
npm i console-info console-warn console-error --save-dev;