Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Modul pengelogan Python: tutorial peringkat pakar, dari pemula hingga mahir

Modul pengelogan Python: tutorial peringkat pakar, dari pemula hingga mahir

WBOY
WBOYke hadapan
2024-03-08 08:34:02378semak imbas

Python logging 模块:专家级教程,从入门到精通

Pengenalan

Modul

logging ialah perpustakaan standard untuk loglog masuk python. Ia menyediakan antara muka bersatu untuk acara pengelogan dalam aplikasi dan membolehkan pembangun mentakrifkan kawalan terperinci tahap log, memformat mesej log dan log keluaran ke pelbagai destinasi seperti fail, konsol atau soket rangkaian ).

Bermula

Buat Logger

Untuk mula mengelog, anda perlu mencipta objek pembalak terlebih dahulu. Pembalak boleh dikenal pasti dengan logging.getLogger(name) 函数创建,其中 name iaitu pengecam string.

import logging

# 创建一个名为 "my_logger" 的 logger
logger = logging.getLogger("my_logger")

Rakam mesej log

Mesej log boleh dilog menggunakan kaedah logger.log(level, msg, *args, **kwargs), di mana:

  • level: Tahap mesej log.
  • msg: Log mesej.
  • *args**kwargs: Parameter pilihan yang digunakan untuk memformat mesej log.
logger.info("程序已启动")
logger.error("发生错误!")

Tahap log

Modul

log mentakrifkan tahap log berikut (dari terendah hingga tertinggi):

  • DEBUG: Maklumat terperinci untuk tujuan nyahpepijat.
  • INFO: untuk mesej aplikasi biasa.
  • AMARAN: Digunakan untuk menarik perhatian kepada masalah.
  • RALAT: untuk ralat dan pengecualian.
  • KRITIKAL: Untuk ralat kritikal atau ranap aplikasi.
  • NOTSET: Lumpuhkan pengelogan.

Tahap log boleh ditetapkan kepada logger.level 属性。例如,要将 my_logger 的级别设置为 WARNING menggunakan:

logger.level = logging.WARNING

Formatter

Format digunakan untuk mengawal penampilan mesej log. Pemformat boleh dibuat melalui kelas logging.F<code>logging.F<strong class="keylink">ORM</strong>atterORM

atter, yang mempunyai parameter berikut:
  • fmt
  • : Rentetan format mesej log.
  • datefmt
  • : format rentetan untuk tarikh dan masa (pilihan).

# 创建一个格式化器,包含时间戳、日志级别和日志消息
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")

Pemproses

Pemproses digunakan untuk mengeluarkan mesej log ke destinasi tertentu. Modul pengelogan menyediakan beberapa pengendali di luar kotak, seperti:
  • logging.StreamHandler
  • : Output mesej log ke konsol.
  • logging.FileHandler
  • : Output mesej log ke fail.
  • logging.<strong class="keylink">Socket</strong>Handlerlog.
  • Soket
Pengendali: Output mesej log ke soket rangkaian.

# 创建一个处理器,将日志消息输出到控制台
handler = logging.StreamHandler()

# 将格式化器添加到处理器
handler.setFormatter(formatter)

# 将处理器添加到 logger
logger.addHandler(handler)

Tapis

    Penapis digunakan untuk menapis mesej log berdasarkan keadaan tertentu. Modul pengelogan menyediakan penapis berikut:
  • logging.Filter
  • : Penapis asas, benarkan atau tolak mesej log. logging.LevelFilter
  • : Tapis mesej log berdasarkan tahap log. logging.MessageFilter
: Tapis mesej log berdasarkan mesej log itu sendiri.

# 创建一个过滤器,仅允许 INFO 和 WARNING 级别的日志消息
filter = logging.LevelFilter(logging.INFO)

# 将过滤器添加到处理器
handler.addFilter(filter)

Penggunaan Lanjutan

Pembalakan Hierarki

Python

Modul pengelogan menyokong pengelogan hierarki, di mana pembalak boleh mewarisi sifat dan tingkah laku pembalak induknya. Ini membolehkan membina struktur pembalakan dengan tahap butiran pembalakan yang berbeza.

Tahap pengelogan tersuailogging.addLevelName(level_name, level_value)

Tahap pengelogan tersuai juga boleh dibuat agar lebih sesuai dengan keperluan khusus aplikasi anda. Ini boleh dicapai dengan fungsi

.

Modul Pengelogan Lanjutan

Modul pengelogan boleh dilanjutkan dengan kelas dan fungsi tersuai untuk melaksanakan fungsi pengelogan yang lebih maju atau khusus. Contohnya, anda boleh mencipta pemproses atau penapis anda sendiri untuk memenuhi keperluan khusus.

Kesimpulan Modul pengelogan Python ialah alat yang berkuasa untuk log masuk aplikasi. Ia menyediakan fleksibiliti dan kebolehubahsuaian, membolehkan pembangun membina sistem pembalakan berdasarkan keperluan khusus aplikasi mereka. Dengan mengikuti prinsip asas dan teknik lanjutan yang digariskan dalam

tutorial🎜 ini, anda boleh memanfaatkan sepenuhnya modul pengelogan dan mencapai pengelogan yang cekap dan bermaklumat untuk aplikasi anda. 🎜

Atas ialah kandungan terperinci Modul pengelogan Python: tutorial peringkat pakar, dari pemula hingga mahir. 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