119 votes

Ajout automatique de console.log à chaque fonction

Existe-t-il un moyen de faire en sorte que n'importe quelle fonction produise une déclaration console.log lorsqu'elle est appelée, en enregistrant un hook global quelque part (c'est-à-dire sans modifier la fonction elle-même) ou par un autre moyen ?

1 votes

Excellente question, j'aimerais bien savoir si c'est possible mais je suis presque sûr que non... Peut-être ajouter une demande de fonctionnalité pour que cela soit ajouté dans le moteur de js de votre navigateur préféré ? :-)

0 votes

Question parfaite, j'ai besoin de quelque chose de similaire à ceci

-2voto

raindrop Points 408

Voici du Javascript qui remplace l'ajout de console.log à toutes les fonctions en Javascript ; jouez avec lui sur Regex101 :

$re = "/function (.+)\\(.*\\)\\s*\\{/m"; 
$str = "function example(){}"; 
$subst = "$& console.log(\"$1()\");"; 
$result = preg_replace($re, $subst, $str);

C'est un "hack rapide et sale" mais je le trouve utile pour le débogage. Si vous avez beaucoup de fonctions, faites attention car cela ajoutera beaucoup de code. De plus, le RegEx est simple et pourrait ne pas fonctionner pour des noms de fonctions/déclarations plus complexes.

-12voto

Vous pouvez en fait attacher votre propre fonction à console.log pour tout ce qui se charge.

console.log = function(msg) {
    // Add whatever you want here
    alert(msg); 
}

3 votes

Correcte ou non, elle ne répond pas du tout à la question. (au cas où quelqu'un serait encore confus)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X