183
votes

Console.log and debug not printing, only return undefined. Why it can be? I've tried to re-install chrome, but it doesn't help.

Here is screenshot from chrome's main page, so functions are not redefined in some code console.log doesn't work

20
Make sure you have some value typed in the filter field. - Ivan Ferrer
For anyone doing web development with Flask: I ran into this same issue -- adding console.log statements to my Javascript, and nothing was displaying in the console. Problem turned out to be due to browser caching... it wasn't seeing my added log statements. Solution is a hard refresh (CTRL+F5 instead of F5 on Windows). Hope that helps someone else with the same issue! - Joel Wigton
i accidently had some text in the filter field - Oliver Watkins
2021 and still the same problem. So every time I want to console.log something I need to press Ctrl+F5. - yendrrek
Sometimes the website overrides the default (window.) console.log :) - jave.web

20 Answers

334
votes

Click “Default levels” and make sure that "Info" is checked. By default it is only set to show Errors and Warnings

I came here with the same problem :/

53
votes

For completeness: In the current version of chrome, the setting is no longer at the bottom but can be found when clicking the "Filter" icon at the top of the console tab (second icon from the left)

37
votes

As of today, the UI of developer tools in Google chrome has changed where we select the log level of log statements being shown in the console. There is a logging level drop down beside "Filter" text box. Supported values are Verbose, Info, Warnings and Errors with Info being the default selection.

enter image description here

Any log whose severity is equal or higher will get shown in the "Console" tab e.g. if selected log level is Info then all the logs having level Info, Warning and Error will get displayed in console.

When I changed it to Verbose then my console.debug and console.log statements started showing up in the console. Till the time Info level was selected they were not getting shown.

18
votes

Same issue, but I just cleared my settings. I went into Settings > Preferences and Clicked [Restore defaults and reload]. Just remember what your settings were.

enter image description here

15
votes

Make sure that the "Filter" input is left blank and nothing is written intentionally or by mistake. That was it in my case :P

enter image description here

13
votes

I experienced the same problem. The solution for me was to disable Firebug because Firebug was intercepting the logs in the background resulting in no logs being shown in the Chrome console.

12
votes

There could also be some filters applied to the console. Remove them.

4
votes

In my case was webpack having the UglifyPlugin running with drop_console: true set

4
votes

As of July 2020 the Chrome UI has changed once again and the logging level dropdown doesn't seem to do anything now.

Instead, there's a new pane to the left of the main console pane, which may have got unintentionally set to one of the restrictive logging levels:

enter image description here

Select the top category (messages) to reveal all the logging:

enter image description here

EDIT: EVEN THEN Chrome seems to add things to the Filter box, which again loses some logging, so you must CLEAR THE FILTER BOX TOO!

(Filter box is at the top of both my pics above, under "Network conditions"; you can see that it has some contents about "urlwebpack" which I didn't put there!)

3
votes

I'm working on a site where some JS (or other) code is preventing console.log from working (console.log is probably overwritten). You can test this by checking if console.log works on a different page (like this one).

I don't have time to investigate further right now so used alert("something is: "+something) to get the info I wanted from a snippet I needed to run.

3
votes

If you are seeing(3 messages are hidden by filters. Show all messages.) then click on show all message link in Chrome dev tool console.

Because if this option enabled by mistake the console.log("") message will show but this will in in hidden state.

3
votes

In my case preserve logs do the trick. I did everything to show the logs, but it goes away. I checked it and it works,

enter image description here

3
votes

Sometimes the simplest things trip us up...

Type console.log in the console and check what function gets returned. If you see ƒ log() { [native code] } then it's something else. If you see ƒ (){} then somewhere down the line the native console.log function was changed.

Was working on a client's site today and that was the issue. If that's the case, you can either manually restore the console.log function or use console.dir() or console.warn() instead.

If you see ƒ (){} then there is a possibility that sometime console stops working due to some functionality you have added in your javascript. so first close all tabs restart chrome and in a new tab just typ1 console.log('hi'); if it prints that then it confirms that the problem is there in your script code. if not then restore the cosole.log.

To restore the console in new tab go to console and type delete window.console it will return true after that restart the chrome and you are good to go.

2
votes

In my case it was just an old cached Javascript file. After clearing the cache I saw my logs.

2
votes

Click “Default levels” right next to filter and do make sure that "Info" is checked.

Please see screenshot:

enter image description here

2
votes

In my case, i was not able to see logs because there is some text in Filter field, which caused results of console.log to disappear. Once we clear text in Filter field, it should show.

1
votes

Selecting verbose fixed it for meVerbose

0
votes

This worked for me. In the console section, go to the settings on top right. There select preserve log and Log XMLHttpsRequests.

0
votes

Make sure the filter box is empty

0
votes

see if something show on the filter box in console ,it means something override your script clear the filter box and check again. i my case this is the issue.