366 Stimmen

Wie kann ich schnell und bequem alle console.log-Anweisungen in meinem Code deaktivieren?

Gibt es eine Möglichkeit, alle console.log Anweisungen in meinem JavaScript-Code zu Testzwecken?

14voto

Swanidhi Punkte 1949

Ändern Sie einfach die Flagge DEBUG um die Funktion console.log außer Kraft zu setzen. Damit sollte es klappen.

var DEBUG = false;
// ENABLE/DISABLE Console Logs
if(!DEBUG){
  console.log = function() {}
}

12voto

Xavier13 Punkte 771

Ich bin erstaunt, dass von all diesen Antworten keine einzige kombiniert wurde:

  • Kein jquery
  • Anonyme Funktion, um den globalen Namespace nicht zu verschmutzen
  • Behandlung von Fällen, in denen window.console nicht definiert ist
  • Ändern Sie einfach die Funktion .log der Konsole

Ich würde mich dafür entscheiden:

(function () {

    var debug = false

    if (debug === false) {
        if ( typeof(window.console) === 'undefined') { window.console = {}; }
        window.console.log = function () {};
    }
})()

12voto

Scott Greenfield Punkte 2778

Ich weiß, dass Sie gefragt haben, wie Sie console.log deaktivieren können, aber das könnte das sein, was Sie wirklich wollen. Auf diese Weise müssen Sie die Konsole nicht explizit aktivieren oder deaktivieren. Es verhindert einfach diese lästigen Konsolenfehler für Leute, die sie nicht geöffnet oder installiert haben.

if(typeof(console) === 'undefined') {
    var console = {};
    console.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = function() {};
}

11voto

graphefruit Punkte 254

Nachdem ich auch nach diesem Problem gesucht habe und es in meiner Cordova-App ausprobiert habe, möchte ich jeden Entwickler für Windows Phone warnen, nicht zu überschreiben

    console.log

weil die Anwendung beim Starten abstürzt.

Wenn Sie Glück haben, stürzt sie nicht ab, wenn Sie lokal entwickeln, aber wenn Sie sie im Geschäft einreichen, stürzt die App ab.

Einfach überschreiben

    window.console.log 

wenn Sie es müssen.

Dies funktioniert in meiner Anwendung:

   try {
        if (typeof(window.console) != "undefined") {
            window.console = {};
            window.console.log = function () {
            };
            window.console.debug = function () {
            };
            window.console.info = function () {
            };
            window.console.warn = function () {
            };
            window.console.error = function () {
            };
        }

        if (typeof(alert) !== "undefined") {
            alert = function ()
            {

            }
        }

    } catch (ex) {

    }

8voto

Chris S Punkte 63542

Wenn Sie den IE7 verwenden, wird die Konsole nicht definiert. Eine IE-freundlichere Version wäre also:

if (typeof console == "undefined" || typeof console.log == "undefined") 
{
   var console = { log: function() {} }; 
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X