Node.js console.log vs. console.info
В чем преимущество использования console.log
vs console.info
?
Или любая другая консольная команда?
console.info("info");
console.error("error");
console.warn("warn");
против
console.log("log");
Я думал, что это может изменить цвет вывода или конкатенировать какую-то метку, но они, похоже, все делают то же самое. И согласно документации здесь:
https://nodejs.org/api/console.html#console_console_info_data
они, похоже, все делают так же, как console.log
Ответы
Ответ 1
В соответствии с документацией, к которой вы привязались, console.error
и console.warn
выводится на stderr
. Остальные выводятся на stdout
.
Если вы выполняете трубопровод или перенаправление из node.js
, разница важна.
Существует много JavaScript, написанных для запуска как в браузере, так и в node.js
. Имея node реализовать полную консоль, вы можете увеличить перекрестную совместимость кода.
В большинстве браузеров они не только регистрируются в разных цветах, но также вы можете фильтровать их для просмотра.
console.info("info");
console.error("error");
console.warn("warn");
console.log("log");
Ответ 2
console.log() короче, чем console.info()
Это одно и то же, и единственное преимущество
![enter image description here]()
Ответ 3
В соответствии с docs это довольно ясно.
console.info([данные], [...]) # То же, что и console.log.
console.error([данные], [...]) # То же, что и console.log, но печатает на stderr.
console.warn([данные], [...]) # То же, что console.error.
Это означает, что нет никакой выгоды или недостатка. info
== log
и warn
== error
. Если вы не хотите печатать на stderr
, info
и /log
будут работать.
Ответ 4
Еще одна деталь в дополнение к принятому ответу: в Chrome и FireFox строки строк console.info
имеют префикс с маленьким значком i, а строки console.log
- нет. Строки warn
и error
имеют префикс с небольшим треугольником и x соответственно.
Ответ 5
Визуально нет разницы между console.log
, console.info
, console.warn
, а также console.error
относительно стороны сервера (терминала).
Однако есть облегченные модули, которые добавляют синий, оранжевый и красный цвета для console.info
, console.warn
, а также console.error
соответственно. При этом консольный API ведет себя как клиентская сторона.
npm i console-info console-warn console-error --save-dev;
![введите описание изображения здесь]()
Ответ 6
В то время как console.log и console.info могут не отличаться, существуют другие применения, кроме простой раскраски. Например, при использовании linter like eslint вы можете настроить console.log для предоставления предупреждающего сообщения. Предположим, вы только хотите использовать console.log для своих целей разработки и использовать console.info для информации, которая может понадобиться конечным пользователям. С помощью linter у вас теперь есть видимое и прямое напоминание о временных файлах console.log, которые помогают вам во время разработки, но должны быть удалены перед коммитами/публикацией.