Rumah > pembangunan bahagian belakang > Tutorial Python > Panduan modul pengelogan Python: menyelesaikan mata pengetahuan umum

Panduan modul pengelogan Python: menyelesaikan mata pengetahuan umum

王林
Lepaskan: 2024-03-08 08:10:13
ke hadapan
400 orang telah melayarinya

Python logging 模块指南:解决常见知识点问题

python modul pengelogan logpengecualian rakaman mengendalikan penyahpepijatan

1. Tahap pembalakan

Tahap pengelogan menentukan acara yang harus dilog. Dari tahap terendah hingga tahap tertinggi, tahap ini termasuk:

  • DEBUG
  • INFO
  • AMARAN
  • KESILAPAN
  • KRITIKAL

Gunakan fungsi logging.basicConfig() untuk menetapkan tahap pengelogan, contohnya:

import logging

logging.basicConfig(level=logging.INFO)
Salin selepas log masuk

2. Pemproses pembalakan

Pemproses menentukan cara mesej pengelogan harus dikendalikan. Beberapa pemproses yang biasa digunakan termasuk:

  • StreamHandler: Cetak mesej log ke konsol atau fail
  • FileHandler: Tulis mesej log ke fail
  • SMTPHandler: Mesej pengelogan e-mel
import logging

# 将日志记录消息打印到控制台
stdout_handler = logging.StreamHandler()
stdout_handler.setLevel(logging.WARNING)

# 将日志记录消息写入文件
file_handler = logging.FileHandler("log.txt")
file_handler.setLevel(logging.DEBUG)

# 将日志记录消息通过电子邮件发送
smtp_handler = logging.SMTPHandler("localhost", "info@example.com", "sender@example.com", "Subject: Log Alert")
smtp_handler.setLevel(logging.ERROR)

# 添加处理器到根记录器
logging.getLogger().addHandler(stdout_handler)
logging.getLogger().addHandler(file_handler)
logging.getLogger().addHandler(smtp_handler)
Salin selepas log masuk

3. Pemformat log

Pemformat mentakrifkan format mesej log. Pemformat tersuai boleh dibuat menggunakan kelas log.F<code>logging.F<strong class="keylink">ORM</strong>atterORM

atter, contohnya:

import logging

# 创建一个自定义格式器
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")

# 设置格式器到处理器
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)
Salin selepas log masuk
4. Pengendalian pengecualian

Modul pengelogan memudahkan untuk mengelog pengecualian:

import logging

try:
# 执行可能引发异常的代码
except Exception:
# 记录异常
logging.exception("An error occurred")
Salin selepas log masuk
5. Menyahpepijat

Modul pengelogan juga boleh membantu dengan penyahpepijatan:
  • logging.debug()Gunakan fungsi
  • untuk merekod maklumat penyahpepijatan, contohnya:
    import logging
    
    # 记录调试信息
    logging.debug("Current value of x: %d", x)
    Salin selepas log masuk
  • logging.getLogger(name).setLevel(level)Gunakan
  • untuk mengubah suai tahap pembalak tertentu, contohnya:

import logging

# 将 "my_module" 记录器的日志记录级别设置为 DEBUG
logging.getLogger("my_module").setLevel(logging.DEBUG)
Salin selepas log masuk
6. Amalan Terbaik

Beberapa amalan terbaik untuk menggunakan modul pengelogan termasuk:
  • Sentiasa tetapkan tahap pembalakan
  • Gunakan mesej pengelogan yang bermakna
  • Gunakan pemformat untuk menentukan format pengelogan tersuai
  • Pengecualian penjejakan
  • Gunakan maklumat penyahpepijatan untuk menyelesaikan masalah

Kesimpulan

Modul pengelogan Python ialah alat berkuasa yang membantu pembangun peristiwa log, isu nyahpepijat dan menjejaki pengecualian. Dengan memahami konsepnya dan memanfaatkan keupayaannya, pembangun boleh meningkatkan dengan ketara keupayaan pembalakan projek

mereka. 🎜

Atas ialah kandungan terperinci Panduan modul pengelogan Python: menyelesaikan mata pengetahuan umum. 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