DEV Community

Cover image for Say no to console.log!
Alish Giri
Alish Giri

Posted on • Updated on

Say no to console.log!

Do you always use console.log in your projects during development?

And even though we will keep using console.log, there are other alternatives that will make your development more fun and productive.

 

NOTE: If you are viewing log in a terminal especially if you are a backend developer then you can try JSON.stringify(your_data, null, 2) and use console.log() on the result. This will make sure that you don't get {... value: [Object, Object]} in the log and the log will also be formatted making it easier to read.

 

console.dir()

For hierarchical listing of arrays and objects.

console.dir(["apples", "oranges", "bananas"]);
Enter fullscreen mode Exit fullscreen mode

console.dir example

 

console.table()

For rows and columns listing of arrays (might not be suitable for objects).

console.table(["apples", "oranges", "bananas"]);
Enter fullscreen mode Exit fullscreen mode

console.table array example

console.table({"a": 1, "b": 2, "c": 3});
Enter fullscreen mode Exit fullscreen mode

console.table object example

 

console.group()

console.log('This is the top outer level');

console.group('Task 1');
console.log('Task activity 1');
console.log('Task activity 2');
console.groupEnd();

console.group('Task 2');
console.log('Task activity 3');
console.log('Task activity 4');
console.groupEnd();

console.log('Back to the top outer level');

Enter fullscreen mode Exit fullscreen mode

console.group example

 

console.time() & console.timeEnd()

try {
  console.time("record-1");
  await someAsyncTask();
} catch (error) {
   // handle error
} finally {
  console.timeEnd("record-1");
}
Enter fullscreen mode Exit fullscreen mode

console.time log

 

console.clear()

This will clear the console.

 
I hope this was helpful! 🚀

Top comments (50)

Collapse
 
oculus42 profile image
Samuel Rouse

Great list! When I'm debugging I often put a console.trace() within a console.group(). This lets me provide identifying information at the group label, and be able to open the group to get to the detailed trace information without it blowing up the console.

Collapse
 
alxwnth profile image
Alex

Haven’t heard about console.trace(), that’s a gem! The more you know…

Collapse
 
modelair profile image
modelair

the article of 2024. 🤦‍♂️

Collapse
 
syedmuhammadaliraza profile image
Syed Muhammad Ali Raza

There are many like

  • console.error
  • console.assert()
  • console.trace()
  • console.groupEnd()
Collapse
 
allanbonadio profile image
Allan Bonadio

There's also console.info() which is increasingly almost exactly the same as console.log(). Yes, now it seems, exactly the same on Chrome. Gets a blue icon in Safari. And gets a ⓘ icon in Firefox. (I usually use emojis to mark different log msgs - more variety.)

Collapse
 
thaisavieira profile image
Thaísa Vieira

Great tips, I love them and I'll start using them every day.

Collapse
 
retrop5 profile image
retrop5

Loved it! The console.table is really helpful!
I am surprised this existed

Collapse
 
litlyx profile image
Antonio | CEO at Litlyx.com

This so cool!

Collapse
 
praneshchow profile image
Pranesh Chowdhury

Wow, that's cool. I saved it.

Collapse
 
forever585 profile image
Forever585

Thank you for your useful tips

Collapse
 
thatcoolguy profile image
dami

Thanks for this

Collapse
 
ice_ profile image
Ayz Abdulwahid

this is very helpful, thank you!

Collapse
 
girordo profile image
Tarcísio Giroldo

Really useful!

Collapse
 
mdrejon profile image
Sydur Rahman

Really interesting

Collapse
 
stefania_barabas profile image
Stefania Barabas

Wow! Super useful, thanks for sharing! :D

Collapse
 
ayushh profile image
Ayush Sharma

nice

Some comments may only be visible to logged-in visitors. Sign in to view all comments.