


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
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
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
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 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, }; // ...
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.
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', }, });
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`));
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ia ' s! Tahniah kepada pasukan Vue untuk menyelesaikannya, saya tahu ia adalah usaha besar dan lama datang. Semua dokumen baru juga.

Saya mempunyai seseorang yang menulis dengan soalan yang sangat legit ini. Lea hanya blog tentang bagaimana anda boleh mendapatkan sifat CSS yang sah dari penyemak imbas. That ' s seperti ini.

Pada hari yang lain, saya melihat sedikit ini sangat indah dari laman web Corey Ginnivan di mana koleksi kad timbunan di atas satu sama lain semasa anda menatal.

Jika kita perlu menunjukkan dokumentasi kepada pengguna secara langsung dalam editor WordPress, apakah cara terbaik untuk melakukannya?

Terdapat beberapa aplikasi desktop ini di mana matlamat menunjukkan laman web anda pada dimensi yang berbeza pada masa yang sama. Oleh itu, anda boleh menulis

Soalan mengenai kawasan slash ungu dalam susun atur flex Apabila menggunakan susun atur flex, anda mungkin menghadapi beberapa fenomena yang mengelirukan, seperti dalam alat pemaju (D ...

CSS Grid adalah koleksi sifat yang direka untuk menjadikan susun atur lebih mudah daripada yang pernah berlaku. Seperti apa -apa, ada sedikit keluk pembelajaran, tetapi grid adalah
