JavaScript – увійдіть до консолі (console.log та фреймворки)

Розробники повинні знати, що робить їх код під час роботи JavaScript, чи в браузері, чи в середовищі NodeJS. Така інформація може допомогти перевірити код, знайти помилки або оцінити ефективність. Друк даних через консоль – найосновніший спосіб зробити це.


У цій статті ми обговоримо вхід до консолі браузера за допомогою методу console.log () та ведення журналу за допомогою популярних фреймворків та бібліотек.

Основні: вхід до консолі браузера за допомогою console.log ()

На стороні клієнта або в браузері ви можете використовувати console.log () для реєстрації будь-яких даних у JavaScript.

Використання console.log () у Javascript або браузері

Натисніть клавішу F12, щоб відкрити консоль браузера. Переконайтесь, що вибрана вкладка «Консоль», і ви можете скопіювати ці вкладки безпосередньо в командний рядок консолі:

1
2
3
4
5
6

console.log (‘foo’); // рядок

console.log (‘foo value:’, 100); // рядок з деяким значенням

console.log (‘foo’, ‘bar’, ‘baz’); // кілька рядків

console.log ({ім’я: "Саймон", id: 5}); // об’єкт

console.log ([1, 2, 3], [‘a’, ‘b’, ‘c’]); // декілька масивів

console.log (нова дата ()); // дата

Приклад використання строкової заміни

Можна також використовувати підстановку рядків, що особливо корисно для циклів коду.

1
2
3
4
5
6
7
8

var контакти = [

{ім’я: ‘Simon’, id: 5, вік: 25},

{ім’я: ‘Бен’, id: 7, вік: 54},

{ім’я: “Ліза”, ідентифікатор: 9, вік: 32}

];

для (var i = 0; i < контакти. довжина; я ++) {

   console.log (‘Ім’я:% s, Вік:% d.’, контакти [i]. ім’я, контакти [i] .age);

}

Що виведе:

1
2
3

Ім’я: Саймон, Вік: 25 років.

Ім’я: Бен, Вік: 54 роки.

Ім’я: Ліза, Вік: 32 роки.

Проміжні: Інші корисні функції консольного ведення журналу

Існує кілька інших методів, схожих на console.log (), але всі їх візуальні результати дещо відрізняються:

console.info () і console.warn ()

1
2

console.info ("Ось декілька інформативних текстів, щоб просто повідомити, що відбувається.");

console.warn ("Ви нічого страшного не зробили, але, можливо, хочете перевірити ще раз?");

Порада NodeJS: Розглядаючи ці методи, майте на увазі, що в середовищі NodeJS console.error та console.warn виведе на stderr замість stdout. Існує також багато бібліотек кольорових журналів, які можуть допомогти покращити читабельність результатів журналу в NodeJS.

console.table ()

Якщо вам потрібно вивести багато табличних даних, корисний метод журналу console.table (); однак наразі він не підтримується певними браузерами, включаючи Internet Explorer, Opera та Safari.

1
2
3
4
5

console.table ([

{ім’я: ‘Simon’, id: 5, вік: 25},

{ім’я: ‘Бен’, id: 7, вік: 54},

{ім’я: “Ліза”, ідентифікатор: 9, вік: 32}

]);

Вихід виглядає приблизно так:

вкладка консолі браузера

Інші методи

Ось кілька інших, більш езотеричних команд реєстрації, про які можна прочитати:

  • console.assert ()
  • console.trace ()
  • console.time ()

Проміжний (NodeJS): ведення журналу за допомогою console.error ()

Коли ви хочете реєструвати помилки за допомогою консолі NodeJS, ви можете використовувати console.error (), а не console.log (). Таким чином, помилки можуть бути перенаправлені в оболонці до stdout, stderr та / або logfile. Реєстрація не-помилок можна здійснити, спрямувавши console.log () на stdout.

Оболонка введення / виводу → переадресація 1> до stdout і 2> до більш жорсткого.

Приклад того, як перенаправити вихід у NodeJS

1
2

console.log (“Це просто шумні речі налагодження”);

console.error (“Це означає, що хтось щось знову зламав”);

Ми можемо перенаправити як вихід (stdout), так і помилки (stderr) в різні файли:

1 вузол test.js > out.log 2> err.log

Ми також можемо перенаправити і вихід, і помилки на один і той же файл:

1 вузол test.js > все.log 2>&1

Додатково: Використання фреймворків & Бібліотеки для входу в консоль

Для більш вдосконаленого рішення для ведення журналів у браузері може бути корисним log4javascript. Для більш серйозних цілей ведення журналу NodeJS може бути корисним використання добре перевіреної бібліотеки журналів, наприклад

Вінстон, Вуз-Буньян або Трейсер.

Вхід до консолі браузера за допомогою JS Framework: log4javascript

Це структура журналу JS з API, заснована на популярній бібліотеці журналів Java log4j.

Основні характеристики log4javascript:

  • За замовчуванням він входить у спливаюче вікно консолі з потужним пошуком (включаючи регулярне вираження) та функціями фільтрації. Вікно також може використовуватися як вбудований кадр на сторінці.
  • Повідомлення журналу можна надсилати на сервер через HTTP (або AJAX, якщо вам потрібно).
  • Це легко настроюється за допомогою знайомих методів з log4j, включаючи PatternLayout, який дає розробнику повний контроль за форматом повідомлень журналу.

Журнал JS - log4javascript
Ось легка версія log4javascript (підтримує основний набір оригінальних функцій).

Вхід до консолі NodeJS за допомогою бібліотеки: Вінстон, Node-Bunyan, & Трейсер

Залежно від контексту процесу, асинхронний характер ведення журналу може призвести до втрачених повідомлень журналу при неправильній обробці. Ось тут реєстрація бібліотек для NodeJS стає дуже корисною.

1. Бібліотека Вінстона

Найпопулярнішою бібліотекою журналів NodeJS, здається, є Вінстон, яка створена таким чином, щоб бути простим і універсальним. Winston підтримує асинхронні транспорти (або пристрої зберігання даних для ваших журналів), тому кожен екземпляр може мати кілька транспортів, налаштованих на різних рівнях. Наприклад, ви можете мати журнали помилок, які послідовно зберігаються у віддаленому місці (наприклад, у базі даних), але всі журнали виводяться на консоль чи локальний файл.

2. Бібліотека Вузла-Буняна

Бібліотека Node-Bunyan забезпечує простий і швидкий модуль реєстрації JSON для NodeJS. Ідея цієї бібліотеки полягає в тому, що журнали сервера повинні бути структуровані і JSON – це хороший формат для цього. Запис журналу – це один рядок виводу JSON.stringify (). Існує також спеціальний інструмент командного рядка для друку та фільтрації журналів Bunyan.

3. Бібліотека Tracer

Tracer – це налаштована бібліотека журналів NodeJS, яка може друкувати повідомлення журналу з часовою позначкою, ім’ям файлу, ім’ям методу, номером рядка, стежкою або стеком виклику. Tracer також підтримує визначені користувачем рівні реєстрації, користувацькі шаблони виводу, інші транспортні засоби та кольоровий вихід.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector