Quel est l'avantage d'utiliser console.log
vs console.info
? Ou l'une des autres commandes de la console?
console.info("info");
console.error("error");
console.warn("warn");
contre
console.log("log");
Je pensais que cela pourrait changer la couleur de la sortie ou concaténer une sorte d'étiquette, mais ils semblent tous faire la même chose. Et selon la documentation ici:
https://nodejs.org/api/console.html#console_console_info_data
ils semblent tous faire la même chose que console.log
Selon la documentation à laquelle vous avez lié, console.error
et console.warn
sont générés à stderr
. Les autres sorties à stdout
.
Si vous effectuez une redirection ou une redirection à partir de node.js
, la différence est importante.
Il y a beaucoup de JavaScript écrit à exécuter à la fois dans le navigateur et Node.js
. Le fait que le noeud implémente la console complète permet une meilleure compatibilité croisée du code.
Dans la plupart des navigateurs, non seulement ces journaux sont enregistrés dans des couleurs différentes, mais vous pouvez également filtrer pour afficher des messages spécifiques.
console.info("info");
console.error("error");
console.warn("warn");
console.log("log");
console.log () est plus court que console.info ()
Ils sont la même chose, et c'est le seul avantage
Selon les docs c'est assez clair.
console.info ([data], [...]) # Identique à console.log.
console.error ([data], [...]) # Identique à console.log mais affiche sur stderr.
console.warn ([data], [...]) # Identique à console.error.
Cela signifie qu'il n'y a aucun avantage ou inconvénient. info
== log
, et warn
== error
. Sauf si vous souhaitez imprimer sur stderr
, info
et ou log
fonctionnera.
Visuellement, aucune différence entre console.log
, console.info
, console.warn
et console.error
en ce qui concerne le côté serveur (terminal).
Cependant, il existe des modules légers qui ajoutent respectivement bleu, orange et rouge pour console.info
, console.warn
et console.error
. Par là, l'API de la console se comporte comme le côté client.
npm i console-info console-warn console-error --save-dev;
Alors que console.log et console.info peuvent ne pas être différents, il existe d’autres utilisations que la simple coloration. Par exemple, lorsque vous utilisez un linter tel que eslint, vous pouvez configurer console.log pour qu'il envoie un message d'avertissement. Supposons que vous souhaitiez uniquement utiliser console.log à des fins de développement et utiliser console.info pour les informations dont les utilisateurs finaux pourraient avoir besoin. Avec un linter, vous avez maintenant un rappel visible et direct de vos consoles temporaires.logs qui vous aident pendant le développement, mais doivent être supprimés avant les validations/publications.
Un détail supplémentaire en plus de la réponse acceptée: dans Chrome et FireFox, les lignes de journal console.info
sont précédées du préfixe d’une petite icône i alors que les lignes console.log
ne le sont pas. warn
et error
sont préfixés par un petit triangle et x , respectivement.
stdin Flux lisible permettant de lire les entrées de l'utilisateur.
stdout Un flux inscriptible, de manière synchrone ou asynchrone.
stderr Flux bloquable en écriture synchrone destiné aux messages d'erreur.
Les fonctions stdout ou non-bloquantes sont les suivantes: console.log, console.info, util.puts, util.print et Stderr.
Les fonctions blocking sont les suivantes: console.warn, console.error, util.debug et process.stdin (un flux lisible permettant d’obtenir une entrée utilisateur).