Rumah >hujung hadapan web >tutorial js >Pengelogan Node.js: Setempat, Pengujian dan Pengeluaran

Pengelogan Node.js: Setempat, Pengujian dan Pengeluaran

Patricia Arquette
Patricia Arquetteasal
2024-12-05 13:05:11946semak imbas

Node.js Logging: Local, Testing, and Production

Hai, pembangun! Kami mempunyai alat yang hebat untuk log masuk Node.js dan ia adalah sumber terbuka. Ia berfungsi dengan baik sama ada anda mengekod secara tempatan, menjalankan ujian pada berbilang pelayan atau mengendalikan trafik dunia sebenar dalam pengeluaran. Mari lihat cara menggunakan Errsole untuk pembangunan tempatan, ujian (walaupun dengan berbilang pelayan) dan pengeluaran. Mari kita pastikan ia ringkas dan praktikal!

Errsole

Errsole ialah penyelesaian sehenti anda untuk mengurus log. Ia membolehkan anda:

  • Kumpul semua log secara automatik.
  • Lihat dan cari log dalam papan pemuka web.
  • Simpan log secara setempat atau dalam pangkalan data terpusat seperti MongoDB, MySQL atau PostgreSQL.

Langkah 1: Pembangunan Tempatan

Untuk pengekodan tempatan, SQLite ialah pilihan yang mudah dan ringan. Anda boleh menyimpan log sebagai fail pada komputer anda, menjadikan persediaan cepat dan mudah.

npm install errsole errsole-sqlite
const express = require('express');
const errsole = require('errsole');
const ErrsoleSQLite = require('errsole-sqlite');

// Initialize Errsole with SQLite
errsole.initialize({
  storage: new ErrsoleSQLite('/tmp/local_logs.sqlite') // Change path if needed
});

const app = express();
app.get('/', (req, res) => res.send('Hello from Local!'));
app.listen(3000, () => console.log('App running on http://localhost:3000'));

Lihat Log
Buka penyemak imbas anda dan pergi ke http://localhost:8001/ untuk melihat log anda.


Langkah 2: Menguji dengan Berbilang Pelayan

Jika anda mempunyai lebih daripada satu pelayan ujian, SQLite mungkin tidak mencukupi. Gunakan MongoDB/MySQL/Postgres untuk memusatkan log anda daripada semua pelayan. Ini memastikan semuanya teratur dan boleh diakses di satu tempat.

npm install errsole errsole-mongodb

Konfigurasikan MongoDB untuk Ujian
Sediakan Errsole untuk log ke contoh MongoDB pusat.

const ErrsoleMongoDB = require('errsole-mongodb');

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs')
});
const ErrsoleMongoDB = require('errsole-mongodb');

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs')
});

Menyahpepijat Log dalam Ujian
Gunakan log terperinci untuk menyelesaikan masalah:

errsole.debug('Test case started', { testName: 'LoginTest', server: 'server1' });

Lihat Log
Akses papan pemuka web untuk semua pelayan ujian di http://your-test-db-host:8001/.

Gunakan penapis dalam papan pemuka untuk mencari log daripada pelayan tertentu atau kes ujian.


Langkah 3: Persediaan Pengeluaran

Dalam pengeluaran, anda mahukan persediaan yang boleh dipercayai yang boleh mengendalikan trafik tinggi dan memberikan makluman segera untuk isu kritikal. MongoDB ialah pilihan yang bagus untuk pengelogan berpusat dalam pengeluaran.

Konfigurasikan MongoDB untuk Pengeluaran

errsole.initialize({
  storage: new ErrsoleMongoDB('mongodb://prod-db-host:27017/', 'prod_logs')
});

Contoh dengan Makluman
Dapatkan pemberitahuan tentang ralat kritikal dalam pengeluaran:

errsole.alert('Critical issue in production', { server: 'main-server' });

Metadata untuk Konteks
Sertakan butiran tambahan dalam log anda:

errsole.meta({ userId: 123, action: 'purchase' }).log('Purchase completed');

Persediaan Bersatu untuk Semua Persekitaran

Berikut ialah cara mengendalikan pengelogan merentas persekitaran tempatan, ujian dan pengeluaran dalam satu persediaan:

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

let storage;

// Configure storage based on the environment
if (process.env.NODE_ENV === 'production') {
  storage = new ErrsoleMongoDB('mongodb://prod-db-host:27017/', 'prod_logs');
} else if (process.env.NODE_ENV === 'testing') {
  storage = new ErrsoleMongoDB('mongodb://test-db-host:27017/', 'test_logs');
} else {
  storage = new ErrsoleSQLite('/tmp/local_logs.sqlite');
}

errsole.initialize({ storage });
console.log(`Errsole is running in ${process.env.NODE_ENV || 'development'} mode.`);

Pembolehubah Persekitaran

  • Setempat: Set NODE_ENV=pembangunan.
  • Ujian: Gunakan NODE_ENV=ujian.
  • Pengeluaran: Tetapkan NODE_ENV=pengeluaran.

Mengapa Memilih Errsole?

Log Berskala: Berfungsi dengan lancar dengan persediaan tempatan, ujian dan pengeluaran.

Log Berpusat: Gunakan MongoDB/MySQL/Postgres untuk mengurus log daripada berbilang pelayan.

Papan Pemuka Web: Lihat, cari dan tapis log dengan mudah.

Makluman Tersuai: Dapatkan pemberitahuan masa nyata untuk isu kritikal.

Errsole ialah alat muktamad untuk mengurus log dalam setiap persekitaran. Mulakan dengan SQLite untuk pembangunan tempatan, skala kepada SQL/NoSQL untuk ujian merentas berbilang pelayan, dan kekalkan persediaan pengeluaran dengan pengelogan dan makluman terpusat. Ia ringkas, fleksibel dan berkuasa.

Bersedia untuk menaikkan tahap pembalakan anda? Errsole berada di belakang anda. ?

Url GitHub: https://github.com/errsole/errsole.js

Atas ialah kandungan terperinci Pengelogan Node.js: Setempat, Pengujian dan Pengeluaran. 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