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

Pengelogan Node.js: Setempat, Pengujian dan Pengeluaran

Patricia Arquette
Lepaskan: 2024-12-05 13:05:11
asal
909 orang telah melayarinya

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
Salin selepas log masuk
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'));
Salin selepas log masuk

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
Salin selepas log masuk

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')
});
Salin selepas log masuk
Salin selepas log masuk
const ErrsoleMongoDB = require('errsole-mongodb');

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

Menyahpepijat Log dalam Ujian
Gunakan log terperinci untuk menyelesaikan masalah:

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

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')
});
Salin selepas log masuk

Contoh dengan Makluman
Dapatkan pemberitahuan tentang ralat kritikal dalam pengeluaran:

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

Metadata untuk Konteks
Sertakan butiran tambahan dalam log anda:

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

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.`);

Salin selepas log masuk

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!

sumber:dev.to
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan