¿Cuál es el beneficio de usar console.logvs console.info? ¿O cualquiera de los otros comandos de la consola para el caso?
console.info("info");
console.error("error");
console.warn("warn");
vs
console.log("log");
Pensé que podría cambiar el color de la salida o concatenar algún tipo de etiqueta, pero parece que todos hacen lo mismo. Y de acuerdo con la documentación aquí:
https://nodejs.org/api/console.html#console_console_info_data
parece que todos hacen lo mismo que console.log
javascript
node.js
terminal
console
seantomburke
fuente
fuente

Respuestas:
Según la documentación a la que vinculó
console.errory losconsole.warnresultadosstderr. Los demás salen astdout.Si está haciendo canalizaciones o redireccionamientos desde
node.jsla diferencia es importante.Hay mucho JavaScript escrito para ejecutarse tanto en el navegador como en
Node.js. Hacer que el nodo implemente la consola completa permite una mayor compatibilidad cruzada de código.En la mayoría de los navegadores, no solo se registran en diferentes colores, sino que también puede filtrar para ver mensajes específicos.
console.info("info"); console.error("error"); console.warn("warn"); console.log("log");fuente
node(8.11.4) y Chrome 67, también hayconsole.debug(y muy probablemente también versiones anteriores).debugrangos debajolog.console.log()es más corto queconsole.info()Son lo mismo y esa es la única ventaja.
fuente
Si bien
console.logyconsole.infopuede que no sea diferente, existen otros usos, excepto la mera coloración. Por ejemplo, cuando usa un linter como eslint, puede configurarconsole.logpara proporcionar un mensaje de advertencia. Supongamos que solo desea utilizarloconsole.logcon fines de desarrollo y utilizarloconsole.infopara la información que los usuarios finales puedan necesitar. Con un linter, ahora tiene un recordatorio visible y directo de su temporalconsole.logque lo ayuda durante el desarrollo, pero debe eliminarse antes de la confirmación / publicación.fuente
Según los documentos , está bastante claro.
Esto significa que no hay ventajas ni desventajas.
info==logywarn==error. A menos que desee imprimirstderr,infoologfuncionará.fuente
Visualmente, no hay diferencia entre realidad
console.log,console.info,console.warn, así comoconsole.erroren relación con el lado del servidor (terminal) .Sin embargo, hay módulos livianos que agregan colores azul, naranja y rojo para
console.info,console.warnasí comoconsole.errorrespectivamente. Por eso, la API de la consola se comporta como del lado del cliente.npm i console-info console-warn console-error --save-dev;fuente
Un detalle más además de la respuesta aceptada: en Chrome y FireFox, las
console.infolíneas de registro tienen como prefijo un pequeño ícono de i , mientras que lasconsole.loglíneas no.warny laserrorlíneas tienen como prefijo un pequeño triángulo y una x , respectivamente.fuente
stdin Una secuencia legible para leer la entrada del usuario.
stdout Una secuencia de escritura, ya sea de forma sincrónica o asincrónica.
stderr Un flujo de escritura sincrónico de bloqueo destinado a mensajes de error.
Las funciones stdout o sin bloqueo son: console.log, console.info, util.puts, util.print y Stderr.
Las funciones de bloqueo son: console.warn, console.error, util.debug y process.stdin (una secuencia legible para obtener la entrada del usuario).
fuente
Se ha establecido que el registro y la información son básicamente lo mismo, pero no estoy seguro de que responda completamente a la pregunta:
Un beneficio, además de lo que ya se ha mencionado, es que puede usar cada uno para un propósito diferente. Por ejemplo, puede usar console.log solo para depurar rápidamente y escupir cosas en la consola, mientras que puede usar console.info para los mensajes permanentes que desea enviar a la consola en su código, como información sobre el estado actual de la aplicación . Luego, cuando tenga una situación en la que se imprima un objeto aleatorio en su consola y se dé cuenta de que ha dejado una declaración de registro en algún lugar por accidente, puede hacer una búsqueda global de 'console.log' y eliminar cada instancia y tener confianza no eliminó nada importante que pretendía dejar allí.
fuente
Los diferentes niveles de registro le permiten administrar el nivel de ruido en su consola: tanto en las herramientas de desarrollo de Firefox (estoy usando 78 en este momento) como en Chrome (84), la consola js le permite elegir qué "nivel de depuración" de salida desea ver. FF le permite alternar la visibilidad de
console.error,.warn,.log,.info, y.debuglos mensajes haciendo clic en botones individuales para cada uno (que muestran cuántos fueron suprimidos, cuando "off"), mientras que Chrome tiene un desplegable con marcas de verificación junto a los artículos (.infoy.logson controlados por el "Info", y.debugpor "Verbose"). La etiqueta desplegable de Chrome ("Todos los niveles" o lo que establezca) se vuelve roja si se suprimió la salida.fuente
He visto dónde
console.logestá el registro temporal de información de estado para depurar.console.infoes algo más permanente, como decir en qué puerto se está ejecutando algo y algo que no cortaría una vez que haya terminado de depurar.Esto facilita la limpieza de su código para confirmarlo. Incluso puede hacer que su linter tenga una regla para evitar que se confirme console.log.
fuente