Node.js: ведение журнала в консоли

Введение

Если вы запустите двоичный файл Node.js без каких-либо аргументов, вы увидите командную строку REPL, символ и приглашение (интерактивная оболочка), вы можете выполнить необработанный код JavaScript, который хотите. Те, кто знаком с разработкой на стороне браузера, вероятно, использовали console.log для записи информации в консоль и целей отладки.

Подобно Node.js, существует встроенный объект консоли с несколькими методами, который работает для печати в stdout и stderr.

Список методов

Содержание:

  • console.log ([данные], […] )
  • console.info ([данные], […])
  • console.error ([данные] , […])
  • console.warn ([data], […])
  • console.dir (obj)
  • console.time (метка)
  • console.timeEnd (метка)
  • console.trace (метка)
  • console .assert (выражение, [сообщение])

console.log ([данные], […])

Метод console.log () используется для вывода на стандартный вывод с новой строкой. Как и printf (), функция может принимать несколько аргументов. Вот простой пример:

В приведенном выше примере мы выполнили простая команда console.log («Node.js ….»), и REPL выводит предоставленную строку в стандартный вывод вместе со строкой «undefined» (поскольку console.log ничего не возвращает). Вы также можете выполнить код, предоставив ему файл JavaScript. Поместите код в test.js и выполните его.

Вы можете использовать символы формата для вставки в вывод строковых, целочисленных или данных JSON. Когда вы будете использовать несколько символов формата, порядок символов формата должен соответствовать порядку аргументов. В следующем примере мы использовали три символа формата% s (представляют строку),% d (представляют целое число) и% j (представляют данные JSON). См. Следующий пример:

Код JavaScript (me.js):

  var my_name = 'Sunita', my_class = 5, my_fav_subject = {  subj1: 'английский', subj2: 'Math.'};  console.log ('Меня зовут% s,' + ' n' + 'Я читаю в классе% d,' + ' n' + 'Мои любимые темы:% j', my_name, my_class, my_fav_subject);  

console.info ([data], […])

Метод такой же, как и console.log. Вот несколько примеров:

console.error ([ data], […])

Метод console.error () работает так же, как console.log, за исключением того, что вывод отправляется на stderr вместо stdout. Поскольку stderr всегда записывается синхронно, поэтому в node.js любое использование console.error или других функций, которые записывают в stderr, заблокирует ваш процесс до тех пор, пока все выходные данные не будут записаны.. Этот метод полезен для сообщений об ошибках, но чрезмерное использование может замедлить ваш процесс. Существуют различные форматы ошибок для вывода журнала.

В следующем примере модуль mysql используется для доступа к строкам определенного файла. Если таблица подключена успешно, то первая строка таблицы будет выведена на стандартный вывод с помощью console.log. Однако, если возникает ошибка, она регистрируется в stderr с помощью console.error (). Вот код и вывод:

connection.js:

  var my_name = 'Sunita',  var mysql = require ('mysql'); var connection = mysql.createConnection ({хост: 'localhost', пользователь: 'root', пароль: 'datasoft123', база данных: 'hr'}); connection.connect ();  connection.query ('ВЫБРАТЬ * ИЗ отдела', function (err, results) {if (err) {console.error (err);} else {console.log ('Первая строка таблицы отдела:', результаты [0]  );}}); connection.end ();  

Вывод:

Вы можете показать ошибку через трассировку стека. Вот код и результат:

  var my_name = 'Sunita', var mysql = require ('mysql'); var connection = mysql.createConnection ({host: 'localhost  ', пользователь:' root ', пароль:' datasoft123 ', база данных:' hr '}); connection.connect (); connection.query (' ВЫБРАТЬ * ИЗ отдела ', function (err, results) {if (err)  {console.error (err.stack);} else {console.log ('Первая строка таблицы отдела:', результаты [0]);}}); connection.end ();  

Вывод:

Вверх

Свойство stack содержит как сообщение, так и стек. Вы можете показать только сообщение об ошибке. Вот код и результат:

  var my_name = 'Sunita', var mysql = require ('mysql'); var connection = mysql.createConnection ({host: 'localhost  ', пользователь:' root ', пароль:' datasoft123 ', база данных:' hr '}); connection.connect (); connection.query (' ВЫБРАТЬ * ИЗ отдела ', function (err, results) {if (err)  {console.error (err.message);} else {console.log ('Первая строка таблицы отдела:', results [0]);}}); connection.end ();  

Вывод:

Вы можете показать сообщение об ошибке в формате JSON. путь тоже. Вот код и результат:

  var my_name = 'Sunita', var mysql = require ('mysql'); var connection = mysql.createConnection ({host: 'localhost  ', пользователь:' root ', пароль:' datasoft123 ', база данных:' hr '}); connection.connect (); connection.query (' ВЫБРАТЬ * ИЗ отдела ', function (err, results) {if (err)  {console.error (JSON.stringify (err));} else {console.log ('Первая строка таблицы отдела:', результаты [0]);}}); соединение. end ();  

Вывод:

console.warn ([data], […])

Метод console.warn () такой же, как console.error ( ) метод. В следующем примере модуль ‘fs’ используется для открытия определенного файла. Если файл открывается успешно, то console.log () выводит сообщение. Однако, если возникает ошибка, она регистрируется в stderr с помощью console.warn (). Вот код и результат:

  var fd = require ("fs"); var path = "note.txt"; fd.open (path, "r",  function (err, fd) {if (err) {console.warn (err);} else {console.log ("Файл успешно открыт" + путь);}})  

Вывод:

console.dir (obj)

Использует util.inspect для obj и выводит полученную строку в стандартный вывод.

console.time (label)

Метод console.time () запускает таймер, и вы можете использовать его, чтобы отслеживать, сколько времени занимает операция. Каждый раз должен иметь и уникальное имя (этикетку). Когда вы вызываете console.timeEnd () с тем же именем, он печатает количество времени, прошедшее с момента запуска определенного процесса. См. Следующий пример.

Метод console.timeEnd () используется для остановки таймера, который был запущен ранее. вызвав метод console.time ().

Пример:

  console.time ('Mytimer'); var sum = 0; for (  var x = 0; x  

Вывод:

console.trace (label)

Метод console.trace () используется для печати трассировки стека в stderr текущей позиции . См. Следующие примеры:

console.assert ( выражение, [сообщение])

Метод console.assert () проверяет, является ли выражение истинным. Если выражение оценивается как ложное, оно выдаст AssertionError с сообщением.


Оцените статью
nanomode.ru
Добавить комментарий