DEV Community

Stefi Rosca
Stefi Rosca

Posted on • Updated on • Originally published at stefirosca.netlify.app

✨ 7 Tips & tricks to make your console.log() output stand out

1. Styling your console.log

Is this necessary? Probably not, but if you want to leave an easter egg message on your portfolio website's console why not a styled one? You never know who is looking. Check out mine at stefi.codes

Screenshot Easter Egg Personal Portfolio site

To do this you would us the string substitution method that is explained below where you add a %c variable and then as the variable parameter add the styles as shown below.

console.log(
  "%cDebug with style with these console.log tricks",
  "font-size:50px; background:#F9F9F9; color:#581845; padding:10px; border-radius:10px;"
);
Enter fullscreen mode Exit fullscreen mode

Output:

Styled console.log example

2. Warning, Errors and Info

Probably you've seen warning and errors in the console but didn't know how to add them. The info icon doesn't appear anymore therefore there is no visual difference between console.log and console.info in Chrome.

 // 4. WARNING!
 console.warn("console.warn()");

// 5. ERROR :|
console.error("console.error()");

// 6. INFO
console.info("console.info()");
Enter fullscreen mode Exit fullscreen mode

Output:

Demo Warning, Errors and Info

This comes in handy as the browser allows you to filter based on these types.

Demo Filter to console.log

3. Clear the console

Need a clean console. Simply run:

console.clear();
Enter fullscreen mode Exit fullscreen mode

Demo console.clear()

4. Grouping things together together

1. Expanded

 console.group("Console group example");
 console.log("One");
 console.log("Two");
 console.log("Three");
 console.groupEnd("Console group example");
Enter fullscreen mode Exit fullscreen mode

Output:
Demo console group

This can be helpful for example when looping through an object and wanting to show results in a more organized manner like below.


 const dogs = [
  { name: "Ashley", age: 5 },
  { name: "Bruno", age: 2 },
  { name: "Hugo", age: 8 }];

 dogs.forEach((dog) => {
  console.group(`${dog.name}`);
  console.log(`This is ${dog.name}`);
  console.log(`${dog.name} is ${dog.age} years old`);
  console.log(`${dog.name} is ${dog.age * 7} dog years old`);
  console.groupEnd(`${dog.name}`);
 });

Enter fullscreen mode Exit fullscreen mode

Output:
Demo of console.group

2. Collapsed

To get the same result but as a collapsed list you have to change console.group to console.groupCollapsed.

Output:
Demo results collapsed

5. Keep count of console.logs

The console.count() method can be useful if you'd like to know how many times a component was rendered or maybe how many times a function was called. If you want the counter to start over the countReset can be used.

 // 11. COUNTING
 console.count("one");
 console.count("one");
 console.count("one");
 console.count("two");
 console.count("three");
 console.count("two");
Enter fullscreen mode Exit fullscreen mode

Output:
Demo console.count()

6. Output arrays or objects as a table

Organize the output of an object of array by using the console.group() method.

 // 13. TABLE for ARRAYS
 const dogs = [
 { name: "Ashley", age: 5 },
 { name: "Bruno", age: 2 },
 { name: "Hugo", age: 8 },
 ];

 const cats = ["Juno", "Luna", "Zoe"];      
 console.table(dogs);
 console.table(cats);
Enter fullscreen mode Exit fullscreen mode

Output:
Demo console.group()

7. String Substitution & Template Literals

Is String Substitution still used? For styling the console.log yes, but for other use case givewe can use template literals I don't think so. But here is how it do to it:

const emoji = "🙈"
console.log("This %s is my favorite!", emoji);
Enter fullscreen mode Exit fullscreen mode

Using string substitution might have been done to avoid having to use the + to add strings together.

const emoji = "🙈"
console.log("This " + emoji+ " is my favorite emoji");
Enter fullscreen mode Exit fullscreen mode

With template literals on can easily output this as below:

const emoji = "🙈"
console.log(`This ${emoji} is my favorite emoji`);
Enter fullscreen mode Exit fullscreen mode


To find additional console methods have a look at the MDN Web Docs.

Top comments (7)

Collapse
 
jeremymoorecom profile image
Jeremy Moore

Very nice. It's so easy to forget about the other functions such as group and table.

Collapse
 
yaireo profile image
Yair Even Or

I've authored a tiny package years ago just for this:

github.com/yairEO/console-colors

Collapse
 
stefirosca profile image
Stefi Rosca

Nice! ✨

Collapse
 
aliadnan profile image
Ali Adnan

woah !! . i knew most but console.table() is a game changer! thank you for this 👍🏼

Collapse
 
tomhermans profile image
tom hermans

Thanks. as an adamant console logger, this sparks joy 😉

Collapse
 
builder profile image
Redinbox

Is it possible to update thread group name with colour based on pass or fail before endgroup?

Collapse
 
stefirosca profile image
Stefi Rosca

Sorry for relying so late. What do you mean by thread group name?