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:
Akhirnya, anda dapat melaksanakan pembalakan yang mantap dalam aplikasi Node.js anda menggunakan amalan terbaik dan pino.
Sebelum meneruskan, pastikan anda mempunyai:
Menggunakan alat seperti Postman untuk ujian endpoint API adalah disyorkan.
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
Bendera -g
bendera dipasang di seluruh dunia, dan --force
mengendalikan konflik yang berpotensi.
Pasang kebergantungan yang diperlukan: Pino, Express-Pino-Logger, dan Pino-Pretty:
NPM Pasang Pino Express-Pino-Logger Pino-Pretty
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
Buat loggerService.js
Inside services
dengan kod berikut:
const pino = memerlukan ('pino'); modul.exports = pino ({prettyprint: true});
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');
Konfigurasikan express-pino-logger
dengan Perkhidmatan Logger anda:
// ... const LogGermidDleWare = ExpressPinologger ({ Logger: Logger, Autologging: Benar, }); app.use (LogGermidDleWare); // ...
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'); // ... }); // ...
Mulakan semula pelayan anda ( nodemon server.js
) dan uji titik akhir API. Output log akan muncul di terminal anda.
Langkah ini memberi tumpuan kepada penyesuaian perkhidmatan logger dan meningkatkan kebolehbacaan log.
Tentukan Tahap Log Kustom di loggerService.js
:
// ... tahap const = { http: 10, Debug: 20, Maklumat: 30, memberi amaran: 40, Ralat: 50, Fatal: 60, }; // ...
Kemas kini Konfigurasi pino
di loggerService.js
:
modul.exports = pino ({ PrettyPrint: Benar, CustomLevels: Tahap, UseOnlyCustomLevels: Benar, Tahap: 'http', });
Uji dengan tahap tersuai (misalnya, logger.http(...)
). Tetapkan autoLogging: false
in server.js
Jika tindak balas JSON tidak perlu.
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', }, });
Uji sekali lagi untuk melihat output log yang lebih baik.
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`));
Menguji API anda; Log kini akan ditulis kepada logger.log
dalam direktori services
.
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!