Node.js: ведение журнала консоли
Вступление
Если вы запустите двоичный файл Node.js без каких-либо аргументов, вы увидите командную строку REPL, символ > и из этой подсказки (интерактивная оболочка) вы можете выполнить необработанный код JavaScript, который вы пожелаете. Те, кто знаком с разработкой на стороне браузера, вероятно, использовали console.log для записи информации в консоль и отладки.
Подобно Node.js, есть встроенный консольный объект с несколькими методами, который работает для печати в stdout и stderr.
Список методов
Содержание:
console.log ([data], [...])
Метод console.log () используется для печати в stdout с символом новой строки. Как и 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: 'English',
subj2: 'Math.'};
console.log('My name is %s,'
+'\n'+ 'I read in class %d,'
+'\n'+ 'Myfavourite subjects are %j',
my_name, my_class, my_fav_subject);
console.info ([данные], [...])
Метод такой же, как 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({
host : 'localhost',
user : 'root',
password : 'datasoft123',
database : 'hr'
});
connection.connect();
connection.query('SELECT * FROM department', function(err, results)
{
if (err)
{
console.error(err);
}
else
{
console.log('First row of department table : ', results[0]);
}
});
connection.end();
Выход :
Вы можете показать ошибку трассировки стека. Вот код и вывод:
var my_name ='Sunita',
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'datasoft123',
database : 'hr'
});
connection.connect();
connection.query('SELECT * FROM department', function(err, results)
{
if (err)
{
console.error(err.stack);
}
else
{
console.log('First row of department table : ', results[0]);
}
});
connection.end();
Выход :
Свойство стека содержит сообщение, а также стек. Вы можете показать только сообщение об ошибке. Вот код и вывод:
var my_name ='Sunita',
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'datasoft123',
database : 'hr'
});
connection.connect();
connection.query('SELECT * FROM department', function(err, results)
{
if (err)
{
console.error(err.message);
}
else
{
console.log('First row of department table : ', results[0]);
}
});
connection.end();
Выход :
Вы можете также показать сообщение об ошибке в формате JSON. Вот код и вывод:
var my_name ='Sunita',
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'datasoft123',
database : 'hr'
});
connection.connect();
connection.query('SELECT * FROM department', function(err, results)
{
if (err)
{
console.error(JSON.stringify(err));
}
else
{
console.log('First row of department table : ', results[0]);
}
});
connection.end();
Выход:
console.warn ([данные], [...])
Метод 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("File open successfully" + path);
}
})
Выход:
console.dir (OBJ)
Использует util.inspect в obj и печатает полученную строку в стандартный вывод.
console.time (ярлык)
Метод console.time () запускает таймер, и вы можете использовать его для отслеживания того, сколько времени занимает операция. Каждый раз должен иметь и уникальное имя (ярлык). Когда вы вызываете console.timeEnd () с тем же именем, он печатает количество времени, прошедшее с момента запуска определенного процесса. Смотрите следующий пример.
console.timeEnd (ярлык)
Метод console.timeEnd () используется для остановки таймера, который ранее был запущен путем вызова метода console.time ().
Пример :
console.time('Mytimer');
var sum = 0;
for (var x=0; x<100000; x++)
{
sum += x;
}
//console.log(/'sum=/'+sum);
console.log('Time taken Sum up numbers from 1 to 100000');
console.timeEnd('Mytimer');
Выход:
console.trace (ярлык)
Метод console.trace () используется для печати трассировки стека в stderr текущей позиции. Смотрите следующие примеры:
console.assert (выражение, [сообщение])
Метод console.assert () проверяет, является ли выражение истинным. Если выражение оценивается как ложное, оно выдаст ошибку AssertionError с сообщением.
Предыдущий: Util Module
Далее: буфер
Новый контент: Composer: менеджер зависимостей для PHP , R программирования