58

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?

7 Answers 7

61

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.

Sign up to request clarification or add additional context in comments.

1 Comment

yes, however you don't HAVE to use console logs to see the object. sys.puts("check out this funky object in detail: " + sys.inspect(yourobject));
16

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.

2 Comments

sys.inspect is now util.inspect
Actually console is used to print to stdout and stderr streams.
9

Puts is deprecated in since version 0.2.3

3 Comments

Please cite the source by linking to where you found the information.
Speaking of deprecation, it looks like the 'sys' module has become the 'util' module. The puts() method is still around, but the utils.p() prints a deprecated warning.
@xer0x : 'sys' module was renamed to be 'util'. It was a Fix on require('sys') #3577
3

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

Comments

2
console.dir(objectToInspect)

This might be another way to inspect objects.

Comments

1
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

Comments

1

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.