Questa sostituzione involucro piccolo sarà avvolgere il metodo originale console.log
con una funzione che ha un controllo al suo interno, che è possibile controllare dall'esterno, approfondendo se volete vedere i resoconti della console e non.
Ho scelto window.allowConsole
come bandiera di esempio ma nella vita reale sarebbe probabilmente qualcos'altro. a seconda del tuo quadro.
(function(cl){
console.log = function(){
if(window.allowConsole)
cl(...arguments);
}
})(console.log)
Usage:
// in development (allow logging)
window.allowConsole = true;
console.log(1,[1,2,3],{a:1});
// in production (disallow logging)
window.allowConsole = false;
console.log(1,[1,2,3],{a:1});
Questa esclusione dovrebbe essere implementare come "alto" il più possibile nella gerarchia codice in modo che sarebbe "catturare" tutti i registri prima di allora accadere. Questo potrebbe essere esteso a tutti gli altri metodi console
come warn
, time
, dir
e così via.
Il codice di produzione non deve essere registrato sulla console. – Incognito
s/console \ .log \\ (. + \\) // g –
possibile duplicato di [Override console.log(); per la produzione] (http://stackoverflow.com/questions/7042611/override-console-log-for-production) – user113716