I want to override console.log method to invoke a set of tasks whenever console.log is called. I referred other Stackoverflow answers but that give me the error:
Uncaught RangeError: Maximum call stack size exceeded.
This is what I want to do:
backupconsolelog = console.log; console.log = function(arguments) { //do my tasks; backupconsolelog(arguments); } Update 1: Somehow managed to over-ride console.log successfully, but I'm now unable to execute console.log(displaySomethingInConsole) in the same .js file where over-riding is done. This somehow causes recursive call to console.log, and gives again Uncaught RangeError: Maximum call stack size exceeded.
How do I use console.log() in the same .js file?
Update 2: I've have a check() function which is called by over-rided console.log. But, there was a console.log call inside the check() function which caused Maximum call stack size exceeded. error.
Update 3: Error again! :(
Uncaught TypeError: Illegal invocation
var _log = window.console.log; window.console.log = function () { _log.apply(this, arguments); check(); }; _log("aaa"); check() {}; Update 4: Binding console to _log, i.e., console.log.bind(console) cleared it.