var domainNames =["fiddle.jshell.net"]; // we replace this by our production domain. var logger = { force:false, original:null, log:function(obj) { var hostName = window.location.hostname; if(domainNames.indexOf(hostName) > -1) { if(window.myLogger.force === true) { window.myLogger.original.apply(this,arguments); } }else { window.myLogger.original.apply(this,arguments); } }, forceLogging:function(force){ window.myLogger.force = force; }, original:function(){ return window.myLogger.original; }, init:function(){ window.myLogger.original = console.log; console.log = window.myLogger.log; } } window.myLogger = logger; console.log("this should print like normal"); window.myLogger.init(); console.log("this should not print"); window.myLogger.forceLogging(true); console.log("this should print now");
<h2>Right click->inspect element->Console to see the results</h2> <p> Something like this will keep logging in local and qas but will not log in production. (unless we force it) </p>