Rumah > pembangunan bahagian belakang > Tutorial Python > Modul pengelogan Python: Selesaikan mata pengetahuan anda yang paling sukar

Modul pengelogan Python: Selesaikan mata pengetahuan anda yang paling sukar

王林
Lepaskan: 2024-03-08 09:22:02
ke hadapan
629 orang telah melayarinya

Python logging 模块:解决你最棘手的知识点问题

python modul pengelogan ialah alat berkuasa yang membantu anda mengelog acara dan mesej dalam aplikasi anda. Ia menyediakan antara muka bersatu untuk mengkonfigurasi dan mengurus logrekod, membolehkan anda mengendalikan tugas pengelogan dengan mudah. Artikel ini akan melihat secara mendalam modul pengelogan, menangani perkara pengetahuan umum dan memberikan contoh praktikal.

Konfigurasikan pengelogan

Untuk mendayakan pengelogan, anda mesti mengkonfigurasi pembalak terlebih dahulu. Ini boleh dilakukan melalui fungsi logging.basicConfig(). Begini cara untuk mengkonfigurasi logger asas:

import logging

# 配置日志记录
logging.basicConfig(
level=logging.INFO,
fORMat="%(asctime)s - %(levelname)s - %(message)s",
filename="my_log.log",
)
Salin selepas log masuk

Dalam contoh ini, kami menetapkan tahap pengelogan kepada INFO dan menentukan format mesej log dan nama fail fail log.

Tahap pembalakan

Modul

log mentakrifkan lima tahap pembalakan:

  • DEBUG
  • INFO
  • AMARAN
  • KESILAPAN
  • KRITIKAL

Tahap pengelogan menentukan jenis mesej yang dilog. Contohnya, jika anda menetapkan tahap kepada INFO, hanya mesej peringkat INFO dan mesej peringkat lebih tinggi (seperti AMARAN dan RALAT) dilog.

Log mesej

Gunakan fungsi seperti logging.info(), logging.warning() untuk log mesej. Mesej boleh mengandungi sebarang rentetanatau objek, contohnya:

logging.info("这是信息消息.")
logging.warning("这是警告消息.")
Salin selepas log masuk

Tapis

Penapis membolehkan anda mengawal mesej yang dilog. Anda boleh membuat kelas penapis tersuai atau menggunakan penapis terbina dalam seperti logging.Filter。下面的示例使用 logging.Filter untuk menapis mesej yang mengandungi rentetan tertentu:

class MyFilter(logging.Filter):
def filter(self, record):
return "my_string" not in record.msg

logging.basicConfig(
...
filters=[MyFilter()]
)
Salin selepas log masuk

Pengendali balak

Pengendali log bertanggungjawab untuk memproses mesej log. Modul pengelogan menyediakan pelbagai pengendali terbina dalam, seperti logging.StreamHandlerlogging.FileHandler。以下是如何使用 logging.StreamHandler untuk mengeluarkan mesej log ke konsol:

handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
logging.getLogger().addHandler(handler)
Salin selepas log masuk

Log tersuai

Modul pengelogan membolehkan anda membuat konfigurasi dan pengendali pengelogan tersuai. Anda boleh menyesuaikan format pengelogan, mencipta tahap pengelogan tersuai dan menggunakan penapisan tersuai dan logik pemprosesan.

Menyelesaikan masalah

Pengelogan adalah penting untuk menyelesaikan masalah dan menyahpepijat aplikasi. Dengan melihat fail log, anda boleh memahami tingkah laku aplikasi dan mengenal pasti punca masalah. Berikut ialah beberapa petua penyelesaian masalah biasa:

  • Semak fail log untuk mengesan mesej ralat.
  • Gunakan logging.getLogger().getEffectiveLevel() untuk menyemak tahap pembalakan.
  • Sahkan bahawa pengendali pembalakan dikonfigurasikan dengan betul.
  • Gunakan penapis untuk mengecilkan mesej log.

Kesimpulan

Modul pengelogan

Python ialah alat berkuasa yang boleh meningkatkan keupayaan pengelogan dan penyahpepijatan aplikasi anda. Dengan pengetahuan yang disediakan dalam panduan ini, anda akan dapat mengkonfigurasi dan menggunakan modul pengelogan dengan berkesan untuk menyelesaikan cabaran pengaturcaraan yang paling sukar.

Atas ialah kandungan terperinci Modul pengelogan Python: Selesaikan mata pengetahuan anda yang paling sukar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
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