Tutorial ini menunjukkan cara memanfaatkan Winston, perpustakaan pembalakan node.js yang mantap, untuk meningkatkan keupayaan pemantauan dan debug aplikasi anda, semuanya dihoskan pada pelayan pengiraan Vultr. Kami akan meliputi amalan terbaik pembalakan penting dan mengkonfigurasi Winston untuk mengendalikan pelbagai tahap log.
Artikel ini ditaja oleh Vultr, sebuah platform pengkomputeran awan global terkemuka yang menawarkan penyelesaian berskala kepada lebih dari 1.5 juta pelanggan di seluruh dunia. Terokai pengiraan awan Vultr, GPU awan, logam telanjang, dan pilihan penyimpanan awan.
kepentingan pembalakan
Pembalakan yang berkesan adalah yang paling penting untuk pembangunan aplikasi. Manfaatnya termasuk:
Debugging:
menentukan kesilapan dan pengecualian untuk penyelesaian masalah yang cekap. -
Pemantauan:
mendapatkan pandangan tentang prestasi aplikasi, penggunaan sumber, dan interaksi pengguna untuk pengoptimuman proaktif. -
Pengauditan:
Mengekalkan rekod komprehensif peristiwa sistem untuk analisis keselamatan, penjejakan perubahan, dan pematuhan peraturan. -
Amalan Pembalakan Terbaik
Pembalakan yang berjaya memerlukan perancangan yang teliti. Prinsip -prinsip utama termasuk:
Tahap log yang sesuai:
Gunakan tahap log yang berbeza (ralat, amaran, maklumat, debug, verbose, bodoh) untuk mengkategorikan mesej dengan keparahan. -
Pemformatan yang konsisten:
Mengekalkan struktur mesej log standard, termasuk cap waktu, tahap, dan maklumat kontekstual. -
data berstruktur:
menggunakan format berstruktur seperti JSON untuk penguraian dan integrasi yang lebih mudah dengan alat pemantauan. -
Pembalakan yang cekap:
Elakkan pembalakan berlebihan untuk mengelakkan kekacauan overhead dan log. -
Keselamatan data:
Mengendalikan data sensitif (kata laluan, token, dan lain -lain) dengan berhati -hati untuk melindungi privasi pengguna. -
Winston: Persediaan dan Tahap Log
Winston menyokong tahap log berikut: ralat, memberi amaran, maklumat, debug, verbose, bodoh. Setiap peringkat mewakili keparahan yang berbeza.
Menyediakan Winston pada projek Node.js anda
ikuti langkah -langkah ini untuk mengintegrasikan Winston ke dalam aplikasi Node.js anda yang digunakan pada contoh pengiraan Vultr:
menggunakan vultr: - peruntukan contoh pengiraan vultr dan pasang node.js.
SSH Access:
Sambung dengan selamat ke pelayan anda melalui SSH. -
kemas kini sistem: Kemas kini pakej pelayan. -
Persediaan Projek: Buat direktori projek baru, navigasi ke sana, dan Inisialisasi - :
package.json
mkdir my-winston-project
cd my-winston-project
npm init -y
Salin selepas log masuk
Salin selepas log masuk
Pasang Dependencies: Pasang Winston dan Express: mkdir my-winston-project
cd my-winston-project
npm init -y
Salin selepas log masuk
Salin selepas log masuk
-
3
app.js
3
app.js
npm install winston express
Salin selepas log masuk
konfigurasi firewall: - Benarkan sambungan masuk pada port 3000 (menggunakan
).
logger.js
logger.js
Jalankan aplikasi: const express = require("express");
const logger = require("./logger"); // Import the logger
const app = express();
app.get("/", (req, res) => {
logger.debug("Hello, world");
logger.info("This is the home route.");
res.send("Logging Hello World..");
});
app.get("/event", (req, res) => {
try {
throw new Error("Not User!");
} catch (error) {
logger.error("Events Error: Unauthenticated", { error }); // Log error with details
}
});
app.listen(3000, () => {
logger.info("Server Listening On Port 3000");
});
Salin selepas log masuk
Mulakan aplikasi anda menggunakan . -
Memperluas Penyebaran Vultr anda ufw
Terokai fungsi Vultr yang canggih ini:
-
Aplikasi Node.js Containerizing
Melaksanakan saluran paip CI/CD node app.js
Menguruskan pelbagai aplikasi node.js dengan nginx
Menggunakan aplikasi Mern
Kesimpulan
Pembalakan yang berkesan adalah penting untuk kesihatan aplikasi dan penyelenggaraan. Winston memudahkan proses itu, menyediakan penyelesaian yang fleksibel dan berkuasa untuk menguruskan mesej log. Dengan menggabungkan Winston dengan skalabilitas Vultr, anda boleh membina aplikasi yang mantap dan mudah dipantau. -
Atas ialah kandungan terperinci Pembalakan Mudah: Panduan Pemula ke Winston di Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!