2017-01-20 2 views
0

Ich Anmeldung derzeit nicht behandelte Ausnahmen auf dem Client mithilfe der window.onerror Funktion, etwa so:Meteor Server-Capture Nicht behandelte Fehler

window.onerror = function (msg) { //This function logs uncaught errors from the client 
    logIt({category:"Client Error",message:msg}); 
    return false; 
}; 

Gibt es einen Weg, um die gleiche Sache auf der Server-Seite zu tun? Ich möchte in der Lage sein, eine Funktion aufzurufen, wenn in der Konsolenausgabe etwas angezeigt wird.

Ich habe versucht Meteor.onerror, Meteor.onError und windows.onError.

Edit: Ich habe noch keinen Weg gefunden, es zu tun, aber ich habe definitiv in der Notwendigkeit heute Morgen sogar gerannt. Jede Hilfe wird geschätzt.

Ich lese einige Stellen, die ich process.on ('uncaughtException') verwenden kann, aber ich lese auch andere, die ich nicht lesen kann. Es scheint nicht für mich zu funktionieren.

+0

wo ein guter Ort ist, der 'window.onerror' Code zu setzen, die Client-Fehler zu fangen? – Gobliins

Antwort

0

Ich denke, ich habe es herausgefunden, obwohl es nicht die Lösung ist, auf die ich gehofft hatte.

Mit etwas Hilfe von this file ...

if (Meteor.isServer) { 
 

 
    var consoleLogOrig = console.log; 
 

 
    console.log = function(arguments) { 
 
    var msg; 
 
    if (typeof arguments === "string") { 
 
     msg = arguments 
 
    } else { 
 
     msg = arguments[0] 
 
    } 
 

 
    logIt({ 
 
     type: "Server Console", 
 
     message: msg, 
 
     attachment: arguments 
 
    }); 
 
    consoleLogOrig.call(console, arguments); 
 
    }; 
 

 

 
}

Verwandte Themen