Introduction
console.log() is a debugging tool that can assist you to figure out what your code is doing. You may follow along as your code executes by displaying a message that contains either descriptive text that tells you what's going on or the values of certain variables.
Removing all console.log() from your project before production can be very difficult, Here is how to remove all console.log() from your project in less than a minute.
Step 1
Open your project in VS Code ( Since we are using Regex, It is easier to use it in VS Code )
Step 2
Click on the search icon on VS Code sidebar. It will open the search option
Step 3
In search placeholder type console.log.*$ and select Use Regex option which can be found on the upper right corner of the search panel that’s designated by the icon .*
Step 4
Once you searched for all the console.log(), Click on replace to remove all console.log()
and BOOM 💥 Now you don't have any console.log() in your project
Conclusion ⌛
I hope you found this short helpful. If you need any help please let me know in the comment section.
Let's connect on Twitter and LinkedIn
👋 Thanks for reading, See you next time
Top comments (15)
Won't this only work if the
console
command is the only thing until the end of the line? If you have anything else on the same line after it it will delete that as well. So if your line has multipleconsole
commands in a ternary shortcut (? :, I get that this is not readability friendly, but since it's just debug anyway it's still common) or any other regular commands then you'll have a problem.That's cool!
But this has a few issues:
const fn = console.log
(I mean it will remove the console, but the expression will become wrong).I'd recommend instead using AST based tools like a webpack plugin, or a eslint custom rule, to detect a
CallExpression
with the callee being aMemberExpression
with the object beingconsole
and the propertylog
.Thanks @ayc0
For multiline you need to use
console\.log\(([^)]+)\);
It still won't work for code snippet like those:
(As it contains a closing parenthesis)
console\.log\((.|\n)*?\);?
It matches anything until it encounters ) again, with an optional whitespace and ;
it only selected the console.log which are commented not uncommented ones
It's funny how console.log.*$ can read like an wildcard *, but it's not. This regular expression matches also:
function console2log() {
return "A super important function in the script";
}
That's because the dot (.) in regex matches anything. The * means that it can occur 0 or more times.
PS: visual code treats the regex case insensitive
This matches also multi lines:
console\.log\((.|\n)*?\);?
PS: if you have ) in your message this one won't work
console.log("check function() {}")
Nice tip!
Thank you Deyvison, Glad you liked it : )
great
Thanks Jahid :D
Doesn't work for multi-line console logs
This is a beautiful illustration of the “now you have two problems” principle of regex.