Jadual Kandungan
Prasyarat
Langkah 1: Persediaan Projek
Langkah 2: Memasang Pino
Langkah 3: Membuat Perkhidmatan Logger
Langkah 4: Mengkonfigurasi Log
Tahap log tersuai
Percetakan cantik
Langkah 5: Menyimpan log dalam fail
Kesimpulan
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

Mar 19, 2025 am 09:52 AM

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

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

Sedikit di CI/CD Sedikit di CI/CD Apr 02, 2025 pm 06:21 PM

Saya '

Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Apr 02, 2025 pm 06:17 PM

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.

Kad yang disusun dengan kedudukan melekit dan sasaran sass Kad yang disusun dengan kedudukan melekit dan sasaran sass Apr 03, 2025 am 10:30 AM

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.

Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Apr 02, 2025 am 04:27 AM

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

Membandingkan penyemak imbas untuk reka bentuk responsif Membandingkan penyemak imbas untuk reka bentuk responsif Apr 02, 2025 pm 06:25 PM

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

Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Apr 05, 2025 pm 05:51 PM

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 ...

Cara menggunakan grid CSS untuk tajuk dan kaki melekit Cara menggunakan grid CSS untuk tajuk dan kaki melekit Apr 02, 2025 pm 06:29 PM

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

See all articles