JavaScript – Masuk ke Konsol (console.log vs. frameworks)

Pengembang perlu tahu apa yang dilakukan kode mereka saat menjalankan JavaScript, apakah di browser atau di lingkungan NodeJS. Informasi tersebut dapat membantu memverifikasi kode, menemukan bug, atau mengukur kinerja. Mencetak data melalui konsol adalah cara paling mendasar untuk melakukan itu.


Dalam artikel ini, kami akan membahas pencatatan ke konsol peramban menggunakan metode console.log () dan pencatatan menggunakan kerangka kerja dan pustaka populer.

Dasar: Masuk ke Konsol Peramban Menggunakan console.log ()

Di sisi klien atau di browser, Anda dapat menggunakan console.log () untuk mencatat data apa pun dalam JavaScript.

Menggunakan console.log () dalam Javascript atau Browser

Tekan tombol F12 untuk membuka konsol browser. Pastikan tab “Konsol” dipilih, maka Anda dapat menyalin dan menempelkan contoh ini langsung ke baris perintah konsol:

1
2
3
4
5
6

console.log (‘foo’); // string

console.log (‘nilai foo:’, 100); // string dengan beberapa nilai

console.log (‘foo’, ‘bar’, ‘baz’); // banyak string

console.log ({name: "Simon", id: 5}); // objek

console.log ([1, 2, 3], [‘a’, ‘b’, ‘c’]); // banyak array

console.log (Tanggal baru ()); // tanggal

Contoh Menggunakan Substitusi String

Anda juga dapat menggunakan substitusi string, yang sangat berguna dengan loop kode.

1
2
3
4
5
6
7
8

kontak var = [

{nama: ‘Simon’, id: 5, usia: 25},

{name: ‘Ben’, id: 7, usia: 54},

{nama: ‘Lisa’, id: 9, usia: 32}

];

untuk (var i = 0; i < kontak. panjang; i ++) {

   console.log (‘Nama:% s, Usia:% d.’, kontak [i] .name, kontak [i] .age);

}

Yang akan menghasilkan:

1
2
3

Nama: Simon, Usia: 25.

Nama: Ben, Usia: 54.

Nama: Lisa, Usia: 32.

Intermediate: Fungsi Logging Konsol Lainnya yang Berguna

Ada beberapa metode lain yang mirip dengan console.log (), tetapi semua output visualnya sedikit berbeda:

console.info () dan console.warn ()

1
2

console.info ("Berikut ini beberapa teks informatif agar Anda tahu apa yang terjadi.");

console.warn ("Anda tidak melakukan sesuatu yang buruk, tetapi mungkin Anda ingin memeriksa ulang?");

Kiat NodeJS: Saat mempertimbangkan metode ini, perlu diingat bahwa di lingkungan NodeJS, console.error dan console.warn akan menampilkan ke stderr alih-alih stdout. Ada juga banyak pustaka logging berwarna, yang dapat membantu meningkatkan keterbacaan hasil logging di NodeJS.

meja konsol()

Jika Anda perlu menampilkan banyak data tabular, metode logging console.table () sangat membantu; namun, saat ini tidak didukung oleh browser tertentu, termasuk Internet Explorer, Opera, dan Safari.

1
2
3
4
5

meja konsol( [

{nama: ‘Simon’, id: 5, usia: 25},

{name: ‘Ben’, id: 7, usia: 54},

{nama: ‘Lisa’, id: 9, usia: 32}

]);

Outputnya terlihat seperti ini:

tab konsol browser

Metode Lainnya

Berikut adalah beberapa perintah logging lain yang lebih esoteris yang dapat Anda baca:

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

Intermediate (NodeJS): Logging Menggunakan console.error ()

Saat Anda ingin mencatat kesalahan menggunakan konsol NodeJS, Anda bisa menggunakan console.error (), alih-alih console.log (). Dengan cara ini, kesalahan dapat diarahkan ke proses shell ke stdout, stderr, dan / atau file log. Pencatatan non-kesalahan dapat dilakukan dengan mengarahkan console.log () ke stdout.

Input / Output Shell → pengalihan 1> ke stdout dan 2> ke stderr.

Contoh Cara Mengarahkan Output di NodeJS

1
2

console.log (‘Ini hanya hal-hal debug yang berisik’);

console.error (‘Ini berarti seseorang memecahkan sesuatu lagi’);

Kami dapat mengarahkan ulang output (stdout) dan kesalahan (stderr) ke file yang berbeda:

1 node test.js > log keluar 2> err.log

Kami juga dapat mengarahkan ulang output dan kesalahan ke file yang sama:

1 node test.js > everything.log 2>&1

Advanced: Menggunakan Frameworks & Perpustakaan untuk Masuk ke Konsol

Untuk solusi logging yang lebih maju di browser, log4javascript dapat bermanfaat. Untuk tujuan pencatatan NodeJS yang lebih serius, sebaiknya gunakan perpustakaan pencatatan yang teruji dengan baik, seperti

Winston, Node-Bunyan, atau Tracer.

Masuk ke Konsol Browser Menggunakan JS Framework: log4javascript

Ini adalah kerangka kerja pencatatan JS dengan API yang didasarkan pada log4j perpustakaan logging Java yang populer.

Fitur Utama dari log4javascript:

  • Secara default, ini log ke jendela konsol pop-up dengan pencarian yang kuat (termasuk ekspresi reguler) dan fitur penyaringan. Jendela juga dapat digunakan sebagai iframe inline pada halaman.
  • Pesan log dapat dikirim ke server melalui HTTP (atau AJAX, jika Anda suka).
  • Ini sangat dapat dikonfigurasi menggunakan metode yang akrab dari log4j, termasuk PatternLayout, yang memberikan pengembang kontrol penuh atas format pesan log.

Pencatatan JS - log4javascript
Ini adalah versi ringan dari log4javascript (mendukung subset inti dari fitur aslinya).

Masuk ke Konsol NodeJS Menggunakan Perpustakaan: Winston, Node-Bunyan, & Pengusut

Bergantung pada konteks proses, sifat logging yang tidak sinkron dapat menyebabkan pesan log yang hilang jika tidak ditangani dengan benar. Di situlah logging pustaka untuk NodeJS menjadi sangat berguna.

1. Perpustakaan Winston

Perpustakaan logging NodeJS yang paling populer tampaknya adalah Winston, yang dirancang untuk menjadi sederhana dan universal. Winston mendukung transport asinkron (atau perangkat penyimpanan untuk log Anda), sehingga setiap instance dapat memiliki beberapa transport yang dikonfigurasi pada level yang berbeda. Misalnya, Anda dapat memiliki log kesalahan yang disimpan secara konsisten di lokasi yang jauh (seperti basis data), tetapi semua log dihasilkan ke konsol atau file lokal.

2. Perpustakaan Node-Bunyan

Perpustakaan Node-Bunyan menyediakan modul logging JSON yang sederhana dan cepat untuk NodeJS. Gagasan perpustakaan ini adalah bahwa log server harus disusun dan bahwa JSON adalah format yang baik untuk itu. Catatan log adalah satu baris output JSON.stringify (). Ada juga alat baris perintah khusus untuk mencetak dan memfilter log Bunyan.

3. Perpustakaan Pelacak

Tracer adalah pustaka logging NodeJS yang dapat disesuaikan yang dapat mencetak pesan log dengan stempel waktu, nama file, nama metode, nomor baris, jalur, atau tumpukan panggilan. Tracer juga memiliki dukungan untuk level logging yang ditentukan pengguna, template output khusus, transport lain, dan output berwarna.

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