Rumah  >  Artikel  >  hujung hadapan web  >  Mencipta Logger Tersuai untuk Aplikasi Node.js menggunakan Errsole

Mencipta Logger Tersuai untuk Aplikasi Node.js menggunakan Errsole

WBOY
WBOYasal
2024-08-24 11:11:33575semak imbas

Setiap sistem pembalakan yang mantap terdiri daripada tiga komponen utama: Pengumpul, Storan dan Visualizer. Modul pengelogan Node.js yang popular seperti Winston dan Pino berfungsi sebagai pengumpul log semata-mata. Errsole, bagaimanapun, menawarkan penyelesaian pengelogan lengkap yang merangkumi:

  1. Storan Log: Simpan log dalam fail atau pangkalan data aplikasi anda.

  2. Papan Pemuka Terbina dalam: Lihat, tapis dan cari log menggunakan papan pemuka terbina dalam.

  3. Makluman: Terima pemberitahuan masa nyata untuk ralat kritikal.

Memasang Errsole dan kebergantungannya

Untuk menggunakan Errsole, anda perlu memasang modul Errsole bersama modul storan berdasarkan pangkalan data pilihan anda. Berikut ialah langkah pemasangan untuk pilihan storan yang berbeza:

Penyimpanan Fail:

npm install errsole errsole-sqlite

MongoDB:

npm install errsole errsole-mongodb

MySQL:

npm install errsole errsole-mysql

PostgreSQL:

npm install errsole errsole-postgres

Mencipta Fail Logger Tersuai

Dalam projek Node.js kehidupan sebenar, anda akan mempunyai berbilang fail. Untuk menggunakan Errsole Logger dalam setiap fail projek anda, buat fail logger.js dan mulakan Errsole di dalamnya:

const errsole = require('errsole');
const ErrsoleSQLite = require('errsole-sqlite');

errsole.initialize({
  storage: new ErrsoleSQLite('/tmp/logs.sqlite')
});

module.exports = errsole;

Kini, anda boleh mengimport fail logger.js dalam setiap fail dalam projek anda dan menggunakannya untuk log:

const logger = require('./logger');

// Example usage
logger.info('This is an informational message.');
logger.error('This is an error message.');

Memahami Tahap Log dalam Errsole

Fungsi Errsole Logger mengambil hujah yang sama seperti console.log. Anda boleh menyediakan satu atau lebih rentetan, objek atau pembolehubah yang dipisahkan dengan koma. Selain itu, anda boleh melampirkan metadata pada mesej log anda menggunakan fungsi meta. Metadata ini boleh berupa sebarang maklumat kontekstual, seperti permintaan HTTP atau hasil pertanyaan pangkalan data.

logger.meta({ reqBody: req.body, queryResults: results }).error(err);
logger.meta({ email: req.body.email }).log('User logged in');

Errsole Logger menyediakan fungsi untuk lima peringkat log: makluman, ralat, amaran, maklumat dan nyahpepijat.

log / maklumat: Gunakan untuk log mesej atau maklumat.

logger.log('Logging a message');
logger.log('Multiple', 'arguments', 'are supported');
logger.log('Logging with a variable:', var1);
logger.log(new Error('An error occurred'));
logger.log('Logging with an error object:', errorObject);

makluman: Log mesej dan menghantar pemberitahuan kepada saluran yang dikonfigurasikan, seperti E-mel atau Slack.

logger.alert('Alert! Something critical happened');

ralat: Direka khusus untuk mengelog ralat.

logger.error(new Error('An error occurred'));

amaran: Log mesej amaran.

logger.warn('This is a warning message');

nyahpepijat: Log maklumat nyahpepijat, biasanya digunakan untuk menyelesaikan masalah semasa pembangunan.

logger.debug('Debugging information');

Bila hendak menggunakan logger.alert dalam kod anda

Setiap kali aplikasi Node.js anda ranap, Errsole menghantar pemberitahuan masa nyata kepada pasukan pembangunan anda. Pemberitahuan ini termasuk mesej ralat, nama apl, nama persekitaran dan nama pelayan.

Creating a Custom Logger for a Node.js Application using Errsole

Untuk menambah ralat kritikal pada senarai pemberitahuan ini, gunakan logger.alert dalam kod anda. Walau bagaimanapun, elakkan menggunakannya secara berlebihan untuk mengelakkan membanjiri pembangun anda dengan pemberitahuan. Gunakannya untuk ralat kritikal seperti kegagalan pembayaran atau kegagalan pertanyaan pangkalan data. Letakkan objek ralat dalam fungsi amaran dan tambah semua maklumat kontekstual dalam fungsi meta. Ini membolehkan pembangun menyahpepijat ralat kritikal dengan mudah.

logger.meta({ reqBody: req.body, queryResults: results }).alert(err);

Kesimpulan

Menggabungkan penyelesaian pengelogan lengkap ke dalam aplikasi Node.js anda memastikan pengurusan log yang mantap dan penyahpepijatan yang cekap. Errsole menyediakan storan log, papan pemuka terbina dalam dan pemberitahuan masa nyata, menjadikannya alat pengelogan yang lengkap.

Untuk bermula dengan Errsole, lawati https://github.com/errsole/errsole.js.

Atas ialah kandungan terperinci Mencipta Logger Tersuai untuk Aplikasi Node.js menggunakan Errsole. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn