Rumah pembangunan bahagian belakang Tutorial Python Modul pengelogan Python: perspektif pakar, menyelesaikan semua misteri

Modul pengelogan Python: perspektif pakar, menyelesaikan semua misteri

Mar 08, 2024 am 09:25 AM
Ralat pengendalian pembalakan perpustakaan standard Prestasi aplikasi pengesanan acara

Python logging 模块:专家视角,破解所有谜团

Gambaran keseluruhan modul Pembalakan Python

modul pengelogan ialah alat serba boleh dalam pustaka standard python untuk peristiwa pengelogan dan ralat yang berlaku dalam aplikasi anda. Ia menyediakan set ciri komprehensif yang membolehkan pembangun menyesuaikan log gelagat pengelogan dan menghantar acara log dengan mudah ke pelbagai destinasi seperti fail, konsol atau pelayan jauh.

Tahap pembalakan

Modul

log mentakrifkan berbilang tahap pengelogan untuk mengklasifikasikan acara yang dilog:

  • DEBUG: Digunakan untuk merekod maklumat penyahpepijatan terperinci.
  • INFO: Digunakan untuk merekod mesej maklumat umum.
  • AMARAN: Digunakan untuk merekodkan potensi masalah atau anomali.
  • RALAT: Digunakan untuk mencatat ralat sebenar.
  • KRITIKAL: Digunakan untuk log ralat kritikal yang boleh menyebabkan aplikasi ranap.

Pembalak dan Pengendali

Komponen teras modul pembalakan ialah pembalak dan pengendali:

  • Logger: Bertanggungjawab untuk menjana dan mengurus acara log. Buat pembalak dengan memanggil logging.getLogger().
  • Pengendali: Bertanggungjawab untuk memproses acara log dan menghantarnya ke destinasi tertentu. Pengendali biasa termasuk FileHandler(写入文件)、StreamHandler(写入控制台)和 SMTPHandler (hantar melalui e-mel).

Membalak acara

Acara pengelogan ialah satu mesej log yang mengandungi medan berikut:

  • Tahap pembalakan: Salah satu daripada lima peringkat di atas.
  • Mesej: Mesej teks untuk dirakam.
  • Cap masa: Masa apabila peristiwa itu berlaku.
  • Sumber: Modul atau kelas tempat peristiwa itu berlaku.

Konfigurasikan Pengelogan

Modul pengelogan boleh dikonfigurasikan dalam pelbagai cara, termasuk:

  • Gunakan logging.basicConfig(): Ini adalah kaedah yang paling mudah, ia mengkonfigurasi konfigurasi lalai untuk pencatat akar.
  • Menggunakan logging.config.dictConfig(): membolehkan pengelogan dikonfigurasikan daripada kamus.
  • Gunakan logging.config.fileConfig(): Muatkan konfigurasi pengelogan daripada fail konfigurasi.

Amalan Terbaik

Terdapat beberapa amalan terbaik untuk diikuti apabila menggunakan modul pengelogan:

  • Gunakan tahap pembalakan yang bermakna: Pilih tahap pembalakan yang betul yang sesuai dengan kepentingan acara.
  • Gunakan rentetan berformat: Masukkan pembolehubah ke dalam mesej log untuk meningkatkan kebolehbacaan.
  • Sertakan maklumat kontekstual: Sertakan maklumat tambahan tentang acara, seperti nama modul dan nombor baris.
  • Semak log dengan kerap: Semak log dengan kerap untuk mengesan ralat dan isu prestasi.

Kod demo

Contoh berikut menunjukkan cara menggunakan modul pengelogan untuk log mesej ralat:

import logging

# 创建一个日志记录器
logger = logging.getLogger(__name__)

# 设置日志记录级别
logger.setLevel(logging.INFO)

# 创建一个文件处理程序
handler = logging.FileHandler("errors.log")

# 设置处理程序格式
fORMatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)

# 添加处理程序到日志记录器
logger.addHandler(handler)

# 记录一个错误消息
logger.error("An error occurred!")
Salin selepas log masuk

Kesimpulan

Modul

pengelogan ialah alat penting untuk melaksanakan fungsi pengelogan yang mantap dan boleh nyahpepijat dalam aplikasi Python. Dengan memahami ciri, pilihan konfigurasi dan amalan terbaiknya, pembangun boleh mengurus log dengan berkesan dan meningkatkan prestasi aplikasi serta kebolehpenyahpepijatan.

Atas ialah kandungan terperinci Modul pengelogan Python: perspektif pakar, menyelesaikan semua misteri. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Cara menggunakan std:: dalam c++ Cara menggunakan std:: dalam c++ May 09, 2024 am 03:45 AM

std ialah ruang nama dalam C++ yang mengandungi komponen perpustakaan standard. Untuk menggunakan std, gunakan pernyataan "menggunakan ruang nama std;". Menggunakan simbol terus dari ruang nama std boleh memudahkan kod anda, tetapi disyorkan hanya apabila diperlukan untuk mengelakkan pencemaran ruang nama.

_penggunaan kompleks dalam bahasa c _penggunaan kompleks dalam bahasa c May 08, 2024 pm 01:27 PM

Jenis kompleks digunakan untuk mewakili nombor kompleks dalam bahasa C, termasuk bahagian nyata dan khayalan. Bentuk permulaannya ialah complex_number = 3.14 + 2.71i, bahagian sebenar boleh diakses melalui kreal(complex_number), dan bahagian khayalan boleh diakses melalui cimag(complex_number). Jenis ini menyokong operasi matematik biasa seperti penambahan, penolakan, pendaraban, pembahagian dan modulo. Di samping itu, satu set fungsi untuk bekerja dengan nombor kompleks disediakan, seperti cpow, csqrt, cexp dan csin.

Bagaimana untuk mengendalikan senario ralat dalam C++ dengan berkesan melalui pengendalian pengecualian? Bagaimana untuk mengendalikan senario ralat dalam C++ dengan berkesan melalui pengendalian pengecualian? Jun 02, 2024 pm 12:38 PM

Dalam C++, pengendalian pengecualian mengendalikan ralat dengan anggun melalui blok try-catch Jenis pengecualian biasa termasuk ralat masa jalan, ralat logik dan ralat luar sempadan. Ambil pengendalian ralat pembukaan fail sebagai contoh Apabila program gagal membuka fail, ia akan membuang pengecualian dan mencetak mesej ralat dan mengembalikan kod ralat melalui blok tangkapan, dengan itu mengendalikan ralat tanpa menamatkan program. Pengendalian pengecualian memberikan kelebihan seperti pemusatan pengendalian ralat, penyebaran ralat dan keteguhan kod.

Petunjuk pintar C++: analisis komprehensif kitaran hayat mereka Petunjuk pintar C++: analisis komprehensif kitaran hayat mereka May 09, 2024 am 11:06 AM

Kitaran hayat penunjuk pintar C++: Penciptaan: Penunjuk pintar dicipta apabila memori diperuntukkan. Pemindahan pemilikan: Pindahkan pemilikan melalui operasi pemindahan. Keluaran: Memori dikeluarkan apabila penunjuk pintar keluar dari skop atau dikeluarkan secara eksplisit. Pemusnahan objek: Apabila objek runcing dimusnahkan, penunjuk pintar menjadi penunjuk tidak sah.

Bagaimana untuk melakukan pengendalian ralat dan log masuk dalam reka bentuk kelas C++? Bagaimana untuk melakukan pengendalian ralat dan log masuk dalam reka bentuk kelas C++? Jun 02, 2024 am 09:45 AM

Ralat pengendalian dan log masuk dalam reka bentuk kelas C++ termasuk: Pengendalian pengecualian: menangkap dan mengendalikan pengecualian, menggunakan kelas pengecualian tersuai untuk memberikan maklumat ralat khusus. Kod ralat: Gunakan integer atau penghitungan untuk mewakili keadaan ralat dan mengembalikannya dalam nilai pulangan. Penegasan: Sahkan syarat pra dan pasca, dan buang pengecualian jika ia tidak dipenuhi. Pengelogan perpustakaan C++: pengelogan asas menggunakan std::cerr dan std::clog. Perpustakaan pengelogan luaran: Integrasikan perpustakaan pihak ketiga untuk ciri lanjutan seperti penapisan tahap dan putaran fail log. Kelas log tersuai: Buat kelas log anda sendiri, abstrak mekanisme asas dan sediakan antara muka biasa untuk merekodkan tahap maklumat yang berbeza.

Alat dan perpustakaan terbaik untuk pengendalian ralat PHP? Alat dan perpustakaan terbaik untuk pengendalian ralat PHP? May 09, 2024 pm 09:51 PM

Alat dan perpustakaan pengendalian ralat terbaik dalam PHP termasuk: Kaedah terbina dalam: set_error_handler() dan error_get_last() Kit alat pihak ketiga: Whoops (penyahpepijat dan pemformatan ralat) Perkhidmatan pihak ketiga: Sentry (pelaporan dan pemantauan ralat) Pihak ketiga perpustakaan: PHP-error-handler (pengelogan ralat tersuai dan jejak tindanan) dan Monolog (pengendali pengelogan ralat)

Bagaimana untuk menggunakan malloc dalam bahasa c Bagaimana untuk menggunakan malloc dalam bahasa c May 09, 2024 am 11:54 AM

Fungsi malloc() dalam bahasa C memperuntukkan blok memori dinamik dan mengembalikan penunjuk ke alamat permulaan. Penggunaan: Peruntukkan memori: malloc(saiz) memperuntukkan blok memori saiz yang ditentukan. Bekerja dengan ingatan: mengakses dan memanipulasi memori yang diperuntukkan. Memori keluaran: percuma(ptr) mengeluarkan memori yang diperuntukkan. Kelebihan: Membenarkan peruntukan dinamik memori yang diperlukan dan mengelakkan kebocoran memori. Kelemahan: Mengembalikan NULL apabila peruntukan gagal, boleh menyebabkan program ranap, memerlukan pengurusan yang teliti untuk mengelakkan kebocoran memori dan ralat.

Bagaimana untuk menggunakan pembungkus ralat Golang? Bagaimana untuk menggunakan pembungkus ralat Golang? Jun 03, 2024 pm 04:08 PM

Dalam Golang, pembalut ralat membolehkan anda membuat ralat baharu dengan menambahkan maklumat kontekstual kepada ralat asal. Ini boleh digunakan untuk menyatukan jenis ralat yang dilemparkan oleh perpustakaan atau komponen yang berbeza, memudahkan penyahpepijatan dan pengendalian ralat. Langkah-langkahnya adalah seperti berikut: Gunakan fungsi ralat. Balut untuk membalut ralat asal kepada ralat baharu. Ralat baharu mengandungi maklumat kontekstual daripada ralat asal. Gunakan fmt.Printf untuk mengeluarkan ralat yang dibalut, memberikan lebih konteks dan kebolehtindakan. Apabila mengendalikan pelbagai jenis ralat, gunakan fungsi ralat. Balut untuk menyatukan jenis ralat.

See all articles