Difference between console.log and sys.puts in node.js?

JavascriptConsolenode.js

Javascript Problem Overview


In node.js you can use console.log or sys.puts to print out to the screen.

What is the preferred method and what is the difference between these?

Javascript Solutions


Solution 1 - Javascript

sys.puts simply prints the given string in the logs.

But if you want to print a more complex object (Array, JSON, JSObject) you have to use console.log because you want to "look inside" of the object.

sys.puts would give you only "[object object]" for example.

Solution 2 - Javascript

Both just write to the stdout stream. The difference is that sys.puts just toString's the first argument, and console.log takes multiple arguments, and will sys.inspect the first arg if it's not a string.

Solution 3 - Javascript

Puts is deprecated in since version 0.2.3

Solution 4 - Javascript

Also you can use console.log without requiring the sys module.

Solution 5 - Javascript

console.dir(objectToInspect)

This might be another way to inspect objects.

Solution 6 - Javascript

sys.puts([...]);

Is a synchronous output function. Simply it is a blocking function as in Node.js language.

console.log([data], [...]);

Prints to stdout with newline.

For more Info:

http://nodejs.org/api/stdio.html#stdio_console_log_data

http://nodejs.org/api/util.html#util_util_puts

Note: 'sys' module was renamed to be 'util' (Supported by link) It was a Fix #3577

Solution 7 - Javascript

The preferred method is console.log(). sys.puts() has been removed.


The sys module was renamed util with this commit dated Oct 12, 2010. So sys.puts() became util.puts(). util.puts() was added in v0.3.0, deprecation since v0.11.3, and removed in v12.0.0. The documentation advises to use console.log() instead.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionnever_had_a_nameView Question on Stackoverflow
Solution 1 - JavascriptEliasView Answer on Stackoverflow
Solution 2 - JavascriptisaacsView Answer on Stackoverflow
Solution 3 - Javascriptangry kiwiView Answer on Stackoverflow
Solution 4 - JavascriptdaralthusView Answer on Stackoverflow
Solution 5 - JavascriptRajkamal SubramanianView Answer on Stackoverflow
Solution 6 - JavascriptAmol M KulkarniView Answer on Stackoverflow
Solution 7 - Javascriptd4nyllView Answer on Stackoverflow