Cara Melaksanakan Pengelogan dalam Node.js

Cara Melaksanakan Pengelogan Dalam Node Js



Pembalakan ” dalam node.js memainkan peranan penting dalam mengekalkan keseluruhan kitaran hayat prosedur pembangunan tapak web. Oleh itu, pengelogan adalah fungsi paling biasa yang dijalankan oleh pembangun untuk menganalisis fungsi kod dari semasa ke semasa untuk menganalisis data, dan mengekod dan menyelesaikan ralat berdasarkan analisis kod.

Tulisan ini menerangkan kandungan yang disenaraikan di bawah:

Bila hendak Log masuk node.js?

Berikut ialah tahap pengelogan biasa dalam node.js:







  • maklumat: Tugas atau output yang mengesahkan pelaksanaan kod diperkemas.
  • amaran: Peristiwa yang perlu dipertimbangkan untuk mengelakkan kegagalan.
  • Ralat: Peristiwa yang mengakibatkan kegagalan pelaksanaan kod.
  • Nyahpepijat: Tahap ini kebanyakannya digunakan oleh pembangun.

Di manakah Pembalakan Dilaksanakan?

Acara log boleh beratur dan berbilang pendengar boleh mendengar baris gilir dan menulis apa sahaja log yang diperlukan. Sebelum memuktamadkan tempat untuk log, perlu diketahui bahawa metodologi sasaran boleh mengatasi berbilang mesej log. Berikut ialah beberapa lokasi log biasa:



  • stdout
  • stderr
  • konsol

Oleh itu, asas ' console.log() ” dan “ console.info() ' kaedah log ke ' stdout ”. Walau bagaimanapun ' console.warn() ” dan “ console.error() ' kaedah log ke ' stderr ”. Kaedah ini memaparkan output pada konsol. Di bahagian hadapan, ini akan menjadi konsol alat pengaturcara.



Bagaimana untuk Melaksanakan Pengelogan dalam Node.js?

Menganalisis keperluan pembalakan dalam pelbagai situasi adalah penting untuk melaksanakan pendekatan pembalakan yang sepadan. Log masuk node.js boleh dilaksanakan melalui pendekatan yang dinyatakan di bawah:





  • console.log() ” Kaedah.
  • console.warn() ” Kaedah.
  • console.error() ” Kaedah.
  • console.table() ” Kaedah.
  • Modul Nyahpepijat.
  • Pakej Winston.

Pendekatan 1: Laksanakan Log masuk node.js Menggunakan Kaedah 'console.log()'.

' console.log() ” kaedah memaparkan output pada konsol dan membantu untuk menguji fungsi kod dari semasa ke semasa.

Sintaks



konsol. log ( keadaan huru-hara )

Dalam sintaks ini, ' keadaan huru-hara ” merujuk kepada mesej yang akan ditulis ke konsol.

Sekarang, teruskan ke blok kod yang diberikan di bawah yang mencatatkan mesej yang disediakan pada konsol:

konsol. log ( 'Ini Linuxhint!' ) ;

konsol. log ( 'Ini Node js!' ) ;

Pengeluaran

Daripada hasil ini, ia boleh tersirat bahawa mesej yang dinyatakan dipaparkan pada konsol dengan sewajarnya.

Pendekatan 2: Laksanakan Log masuk node.js Menggunakan Kaedah 'console.warn()'.

' console.warn() ” kaedah memaparkan mesej amaran kepada konsol.

Sintaks

konsol. memberi amaran ( keadaan huru-hara )

Dalam sintaks yang diberikan, ' keadaan huru-hara ” menunjukkan mesej (tersuai juga) untuk dipaparkan pada konsol.

Sekarang, pergi ke baris kod berikut yang memaparkan mesej amaran tersuai dengan bantuan ' console.warn() ' kaedah:

konsol. memberi amaran ( 'Ini adalah amaran!' ) ;

Pengeluaran

Seperti yang dilihat, amaran tersuai yang ditentukan dipaparkan dengan sewajarnya.

Pendekatan 3: Laksanakan Log masuk node.js Menggunakan Kaedah 'console.error()'.

Kaedah ini menulis mesej ralat ke konsol.

Sintaks

konsol. ralat ( [ data ] [ , ... hujah ] )

Dalam sintaks ini:

  • data ” merujuk kepada mesej utama.
  • hujah ” mewakili nilai.

Nilai Pulangan

Kaedah ini mendapatkan semula mesej ralat.

Gambaran keseluruhan coretan kod berikut yang merekodkan mesej ralat apabila keadaan tidak berpuas hati:

x = 150 ;
jika ( x < 100 ) {
konsol. log ( 'Baik untuk pergi' ) ;
}
lain {
konsol. ralat ( 'Nombor Tidak Sesuai' ) ;
}

Mengikut kod ini:

  • Mulakan integer untuk dianalisis untuk keadaan.
  • Selepas itu, gunakan ' jika ” pernyataan sedemikian bahawa jika integer yang dimulakan adalah kurang daripada “100”, mesej yang ditentukan dipaparkan.
  • Jika tidak, ' lain pernyataan ' melaksanakan mesej ralat dalam ' console.error() ” kaedah.

Pengeluaran

Output ini mengesahkan bahawa apabila keadaan tidak berpuas hati, mesej ralat tersuai dipaparkan pada konsol dengan sewajarnya.

Pendekatan 4: Laksanakan Log masuk node.js Menggunakan Kaedah 'console.table()'.

Kaedah ini mencipta dan memaparkan jadual pada konsol.

Sintaks

konsol. meja ( td, tc )

Di sini, ' td ' mewakili data jadual, dan ' tc ” merujuk kepada tatasusunan lajur jadual.

Sekarang, pergi melalui pernyataan kod di bawah yang mencipta jadual dengan memberikan indeks berasingan kepada nilai yang diperuntukkan bagi jenis data video dua kali:

konsol. meja ( [ { x : 10 , a : 'Harry' } , { x : lima belas , a : 'Dengan' } ] ) ;

Pengeluaran

Pendekatan 5: Laksanakan Log masuk node.js Menggunakan 'Modul Nyahpepijat'

Modul ini boleh digunakan untuk log maklumat tambahan mengenai status perisian tengah web iaitu, Express, Koa, dll apabila bahagian belakang mendapat permintaan Internet. Middleware dimasukkan ke dalam saluran paip permintaan.

Berikut ialah pendekatan untuk menyediakan perisian tengah pengelogan:

Contoh 1: Menyediakan Perisian Tengah Pengelogan Daripada Aplikasi

' app.use() ” fungsi memasang fungsi middleware sasaran pada laluan yang ditentukan.

Sintaks

aplikasi. guna ( pt, cb )

Dalam sintaks yang diberikan di atas:

  • pt ” merujuk kepada laluan yang mana fungsi middleware akan digunakan.
  • cb ” sepadan dengan fungsi middleware.

Berikut ialah demonstrasi kod yang menyediakan perisian tengah pengelogan melalui aplikasi dan kaedah yang dibincangkan:

const aplikasi = ekspres ( )

const logPerisian tengah = memerlukan ( 'my-logging-middleware' )

aplikasi. guna ( logPerisian tengah )

Dalam kod ini, buat aplikasi Express dan masukkan “ my-logging-middleware ” untuk mula bekerja dengan perisian tengah pembalakan. Akhir sekali, gunakan ' app.use() ” untuk melekapkan fungsi middleware sasaran pada laluan yang ditentukan.

Contoh 2: Menyediakan Perisian Tengah Pengelogan Daripada Aplikasi Melalui Penghala

' router.use() ” fungsi memasang perisian tengah untuk laluan yang disampaikan melalui penghala sasaran.

Sintaks

penghala. guna ( untuk, func )

Dalam sintaks ini:

  • pt ” merujuk kepada laluan perisian tengah.
  • fungsi ” sepadan dengan fungsi yang diluluskan sebagai panggilan balik.

Contoh di bawah menyediakan perisian tengah pengelogan dengan bantuan objek penghala dan ' router.use() fungsi ':

const penghala = ekspres. Penghala ( )

const rtLoggingMiddleware = memerlukan ( 'my-route-logging-middleware' )

penghala. guna ( rtLoggingMiddleware )

Dalam kod ini:

  • ' express.Router() ” fungsi mencipta objek penghala baharu.
  • Selepas itu, masukkan ' my-route-logging-middleware ” dan begitu juga, gunakan “ router.use() ” berfungsi untuk memasang perisian tengah untuk laluan yang disampaikan oleh penghala sasaran.

Pendekatan 6: Laksanakan Log masuk node.js Menggunakan 'Pakej Winston'

Pakej khusus ini terdiri daripada pilihan storan, berbilang peringkat log, pertanyaan dan pemprofil. Berikut ialah demonstrasi kod yang melaksanakan pembalakan melalui pendekatan ini:

const x = ekspres ( )
const termasuk = memerlukan ( 'winston' )
const konsolPengangkutan = baru termasuk. mengangkut . Konsol ( )
const memilih = {
mengangkut : [ konsolPengangkutan ]
}
const pembalak = baru termasuk. createLogger ( memilih )
fungsi paparanPermintaan ( req, res, seterusnya ) {
pembalak. info ( req. url )
seterusnya ( )
}
x. guna ( displayRequest )
Ralat paparan fungsi ( err, req, res, seterusnya ) {
pembalak. ralat ( silap )
seterusnya ( )
}
x. guna ( displayError )

Dalam kod ini:

  • Pengangkutan berbilang boleh disediakan dengan penapisan dan pemformat tersuai boleh ditetapkan.
  • Juga, berbilang kejadian logger dinyatakan dalam fungsi yang berbeza iaitu, ' logger.info() ” dan “ logger.error() ”.
  • Pembalak ini memaparkan maklumat dan mesej ralat, masing-masing.
  • Dalam kod ini, hanya URL yang diminta dilog.

Parameter yang diberikan di bawah diambil oleh pembalak:

Nama Lalai Penerangan
format Winston.format.json Memformat mesej maklumat
senyap Salah Jika benar, semua log digantung.
exitOnError betul Jika palsu, pengecualian yang diatasi tidak menyebabkan process.exit
peringkat Winston.config.npm.levels Tahap merujuk kepada keutamaan log.

Kesimpulan

Log masuk node.js boleh dilaksanakan melalui “ console.log() kaedah ', ' console.warn() kaedah ', ' console.error() kaedah ', ' console.table() kaedah ', ' Modul Nyahpepijat ”, atau melalui “ Pakej Winston ”. Kaedah konsol memaparkan maklumat dan mesej ralat. Modul Nyahpepijat mencatatkan maklumat tambahan tentang status perisian tengah web dan pakej Winston mengandungi pilihan storan dan pelbagai peringkat log.