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

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?


Solution 1:

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:

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:

Puts is deprecated in since version 0.2.3

Solution 4:

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

Solution 5:

console.dir(objectToInspect)

This might be another way to inspect objects.