Rumah > hujung hadapan web > tutorial css > Cara Melaksanakan Pembalakan dalam Aplikasi Node.js Dengan Pino-Logger

Cara Melaksanakan Pembalakan dalam Aplikasi Node.js Dengan Pino-Logger

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2025-03-19 09:52:11
asal
127 orang telah melayarinya

Cara Melaksanakan Pembalakan dalam Aplikasi Node.js Dengan Pino-Logger

Pembalakan yang berkesan adalah penting untuk pembangunan aplikasi. Ia memberikan pandangan tentang tingkah laku aplikasi dan memudahkan debugging. Tutorial ini menunjukkan cara melaksanakan pembalakan dalam aplikasi Node.js menggunakan Pino Logger, pilihan popular yang dikenali dengan prestasi dan fleksibiliti.

Pino membolehkan pembalakan komprehensif, termasuk maklumat terperinci mengenai aliran aplikasi dan keupayaan untuk menyimpan log untuk memisahkan fail. Komuniti GitHub yang luas terus menggariskan kebolehpercayaannya.

Panduan ini merangkumi:

  • Mengkonfigurasi tahap pembalakan.
  • Menyesuaikan output log untuk kebolehbacaan yang lebih baik di terminal, termasuk pilihan untuk kemasukan tindak balas JSON.
  • Menyimpan log ke fail khusus.

Akhirnya, anda dapat melaksanakan pembalakan yang mantap dalam aplikasi Node.js anda menggunakan amalan terbaik dan pino.

Prasyarat

Sebelum meneruskan, pastikan anda mempunyai:

  • Pengalaman dengan Express.js untuk pembangunan sisi pelayan.
  • Kebiasaan dengan API REST bangunan tanpa pengesahan.
  • Kemahiran dengan alat baris arahan atau terminal bersepadu dalam editor kod.

Menggunakan alat seperti Postman untuk ujian endpoint API adalah disyorkan.

Langkah 1: Persediaan Projek

Langkah ini melibatkan membuat aplikasi node.js asas menggunakan Express.js dan Mongoose. Pendekatan ini memastikan fungsi pembalakan dilaksanakan dalam konteks aplikasi yang realistik.

Untuk persediaan aplikasi CRUD, rujuk tutorial mengenai melakukan operasi CRUD dengan Mongoose dan MongoDB Atlas. Setelah selesai, anda akan mempunyai aplikasi Node.js dengan membuat, membaca, mengemas kini, dan memadam laluan.

Pasang nodemon untuk Server Automatic Restarts apabila perubahan kod:

 NPM Install -G -Nodemonforce
Salin selepas log masuk

Bendera -g bendera dipasang di seluruh dunia, dan --force mengendalikan konflik yang berpotensi.

Langkah 2: Memasang Pino

Pasang kebergantungan yang diperlukan: Pino, Express-Pino-Logger, dan Pino-Pretty:

 NPM Pasang Pino Express-Pino-Logger Pino-Pretty
Salin selepas log masuk

Langkah 3: Membuat Perkhidmatan Logger

Buat perkhidmatan Pino Logger dengan pelbagai tahap log (amaran, ralat, maklumat, dan lain -lain). Perkhidmatan ini akan diintegrasikan ke dalam aplikasi anda menggunakan middleware Node.js.

Buat Direktori services :

 Perkhidmatan Mkdir
Salin selepas log masuk

Buat loggerService.js Inside services dengan kod berikut:

 const pino = memerlukan ('pino');
modul.exports = pino ({prettyprint: true});
Salin selepas log masuk

Ini mewujudkan logger asas dengan output yang cantik. Langkah -langkah kemudian akan meliputi konfigurasi selanjutnya.

Seterusnya, dalam fail server.js anda, import perkhidmatan logger dan express-pino-logger :

 const ExpressPinologger = memerlukan ('Express-Pino-Logger');
const logger = memerlukan ('./ Services/Loggerservice');
Salin selepas log masuk

Konfigurasikan express-pino-logger dengan Perkhidmatan Logger anda:

 // ...
const LogGermidDleWare = ExpressPinologger ({
  Logger: Logger,
  Autologging: Benar,
});

app.use (LogGermidDleWare);
// ...
Salin selepas log masuk

autoLogging: true termasuk tindak balas JSON dalam log.

Dalam pengendali laluan anda (misalnya, foodRoutes.js ), mengimport dan menggunakan logger:

 const logger = memerlukan ('../ Services/Loggerservice');

// ...
app.get ("/makanan", async (permintaan, respons) => {
  logger.info ('mendapatkan laluan diakses');
  // ...
});
// ...
Salin selepas log masuk

Mulakan semula pelayan anda ( nodemon server.js ) dan uji titik akhir API. Output log akan muncul di terminal anda.

Langkah 4: Mengkonfigurasi Log

Langkah ini memberi tumpuan kepada penyesuaian perkhidmatan logger dan meningkatkan kebolehbacaan log.

Tahap log tersuai

Tentukan Tahap Log Kustom di loggerService.js :

 // ...
tahap const = {
  http: 10,
  Debug: 20,
  Maklumat: 30,
  memberi amaran: 40,
  Ralat: 50,
  Fatal: 60,
};
// ...
Salin selepas log masuk

Kemas kini Konfigurasi pino di loggerService.js :

 modul.exports = pino ({
  PrettyPrint: Benar,
  CustomLevels: Tahap,
  UseOnlyCustomLevels: Benar,
  Tahap: 'http',
});
Salin selepas log masuk

Uji dengan tahap tersuai (misalnya, logger.http(...) ). Tetapkan autoLogging: false in server.js Jika tindak balas JSON tidak perlu.

Percetakan cantik

Tingkatkan pemformatan log di loggerService.js :

 modul.exports = pino ({
  CustomLevels: Tahap,
  UseOnlyCustomLevels: Benar,
  Tahap: 'http',
  PrettyPrint: {
    mewarnai: benar,
    Levelfirst: Benar,
    TranslateTime: 'Yyyy-dd-mm, h: mm: ss tt',
  },
});
Salin selepas log masuk

Uji sekali lagi untuk melihat output log yang lebih baik.

Langkah 5: Menyimpan log dalam fail

Untuk menulis log ke fail, ubah suai konfigurasi pino dalam loggerService.js :

 modul.exports = pino ({
  CustomLevels: Tahap,
  UseOnlyCustomLevels: Benar,
  Tahap: 'http',
  PrettyPrint: {
    mewarnai: benar,
    Levelfirst: Benar,
    TranslateTime: 'Yyyy-dd-mm, h: mm: ss tt',
  },
}, pino.destination (`$ {__ dirname}/logger.log`));
Salin selepas log masuk

Menguji API anda; Log kini akan ditulis kepada logger.log dalam direktori services .

Kesimpulan

Tutorial ini menyediakan panduan komprehensif untuk melaksanakan pembalakan pino dalam aplikasi Node.js. Ingat amalan terbaik: Maklumat kontekstual, tujuan yang jelas, dan pemformatan yang boleh dibaca adalah kunci kepada pembalakan yang berkesan. Terokai dokumentasi PINO rasmi untuk pilihan konfigurasi lanjutan.

Atas ialah kandungan terperinci Cara Melaksanakan Pembalakan dalam Aplikasi Node.js Dengan Pino-Logger. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan