Je veux enregistrer tous les messages de la console donc je redéfini les fonctions de la console, y compris journal/warn/info/erreur comme un exemple ci-dessousGardez l'emplacement du chemin d'origine lorsque la redéfinition des fonctions window.console
var originalError = console.error;
console.error = function() {
//Do something for logging
originalError.apply(console, arguments);
};
Cependant, j'ai perdu l'emplacement d'origine où le fichier console.error() est appelé: path:line
, puisqu'il pointe désormais vers la fonction apply()
dans le code ci-dessus. Comment puis-je obtenir cette information?
Merci. Mais le problème est seulement les erreurs throwable ont la trace de la pile. Mon but est de redéfinir les fonctions log/info/warn/error de la console pour faire du travail supplémentaire et définitivement elles n'ont pas de trace de pile. – CygnusKnight
Récupère une trace de pile à partir de 'arguments.callee' en utilisant stacktrace.js: https://github.com/stacktracejs/stacktrace.js#generate-a-stacktrace-from-walking-argumentscallee – apscience
C'est la petite partie de stacktrace .js qui marche la chaîne 'arguments.callee': https://github.com/stacktracejs/stack-generator - vous n'avez pas besoin de tout :) –