Rumah >pembangunan bahagian belakang >Tutorial Python >Modul pembalakan Python dinyahmistifikasikan: Menguasai seni pembalakan

Modul pembalakan Python dinyahmistifikasikan: Menguasai seni pembalakan

WBOY
WBOYke hadapan
2024-03-07 21:55:13338semak imbas

Python logging 模块揭秘:掌控日志记录的艺术

python Pengenalan kepada modul pembalakan

Modul

logging ialah alat logginglogging dalam pustaka standard Python. Ia menyediakan cara yang standard dan boleh dikonfigurasikan untuk log peristiwa aplikasi, ralat dan maklumat penyahpepijatan. Dengan menggunakan modul pengelogan, pembangun boleh menjejaki gelagat aplikasi dengan mudah, memudahkan penyelesaian masalah dan meningkatkan kualiti kod.

Tahap pembalakan

Modul pengelogan mentakrifkan beberapa peringkat pengelogan untuk menunjukkan kepentingan mesej:

  • DEBUG: Maklumat nyahpepijat untuk merekodkan gelagat aplikasi terperinci.
  • INFO: Maklumat am, digunakan untuk merekodkan operasi biasa aplikasi.
  • AMARAN: Mesej amaran digunakan untuk merekodkan masalah yang mungkin berlaku.
  • RALAT: Mesej ralat digunakan untuk merekod ralat aplikasi.
  • KRITIKAL: Mesej ralat kritikal digunakan untuk merekod ralat kritikal yang mengganggu aplikasi.

Konfigurasikan pengelogan

Modul pengelogan membolehkan mengkonfigurasi tingkah laku pengelogan dalam pelbagai cara:

Root Logger:

import logging

# 创建根记录器
root_logger = logging.getLogger()

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

# 添加控制台处理程序
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFORMatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
root_logger.addHandler(console_handler)

# 添加文件处理程序
file_handler = logging.FileHandler("my_app.log")
file_handler.setLevel(logging.WARNING)
file_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
root_logger.addHandler(file_handler)

Pelog tersuai:

# 创建自定义记录器
my_logger = logging.getLogger("my_app.module1")

# 设置日志记录级别
my_logger.setLevel(logging.DEBUG)

# 添加流处理程序
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s"))
my_logger.addHandler(stream_handler)

Mesej log

Selepas tetapan pengelogan dikonfigurasikan, pembangun boleh log mesej menggunakan kaedah berikut:

  • debug()
  • info()
  • warning()
  • error()
  • critical()

Setiap kaedah menerima mesej rentetan dan log mesej pada tahap pengelogan yang ditentukan.

my_logger.info("应用程序已启动")

Penapis Log

Modul pengelogan menyediakan mekanisme untuk menapis mesej log dan hanya log mesej yang memenuhi syarat tertentu. Penapis boleh berdasarkan tahap pengelogan, teks mesej atau kriteria tersuai lain.

# 创建一个过滤日志记录级别的过滤器
level_filter = logging.Filter()
level_filter.filter = lambda record: record.levelno >= logging.WARNING

# 将过滤器添加到记录器
my_logger.addFilter(level_filter)

Kesimpulan

Modul pengelogan Python ialah alat yang berkuasa untuk mengelog peristiwa aplikasi dan maklumat nyahpepijat. Dengan memahami pilihan fungsi dan konfigurasinya, pembangun boleh mereka bentuk aplikasi yang teguh dan boleh diselenggara. Dengan menyediakan visualisasi gelagat aplikasi yang komprehensif, modul pengelogan membantu meningkatkan kualiti kod, memudahkan penyelesaian masalah dan meningkatkan proses penyahpepijatan.

Atas ialah kandungan terperinci Modul pembalakan Python dinyahmistifikasikan: Menguasai seni pembalakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam

Artikel berkaitan

Lihat lagi