Sambungan kepada modul Pengelogan Python: menambah fungsi tersuai

王林
Lepaskan: 2024-02-21 09:09:23
ke hadapan
363 orang telah melayarinya

Python Logging 模块的扩展:添加自定义功能

python Modul pengelogan ialah alat yang berkuasa untuk mengelog peristiwa dan ralat dalam program. Dengan melanjutkan modul ini, anda boleh menambah fungsi tersuai untuk meningkatkan keupayaan loglog dan memudahkan penyahpepijatan dan pengendalian ralat. Artikel ini akan membimbing anda tentang cara melanjutkan modul Pengelogan untuk memenuhi keperluan khusus anda.

Kaedah lanjutan

Terdapat dua cara utama untuk melanjutkan modul Pengelogan:

  • Buat logger baharu: Anda boleh menggunakan logging.getLogger() untuk mencipta logger baharu dan konfigurasikannya dengan tahap dan pemformat tersuai.
  • Menggunakan Sambungan Logger: Anda boleh menggunakan logging.LoggerAdapter() untuk mencipta sambungan logger yang menambahkan fungsi tersuai pada logger induknya.

Tambah tahap tersuai

Boleh guna logging.addLevelName() 函数添加自定义级别。这允许您定义新级别的重要性,使其高于或低于现有的级别。例如,您可以添加一个名为 "TRACE" 的级别,其重要性高于 DEBUG.

import logging

# 添加自定义级别
logging.addLevelName(5, "TRACE")
Salin selepas log masuk

Gunakan tahap tersuai

Selepas menambah tahap tersuai, anda boleh menggunakannya untuk mengelog mesej. Gunakan fungsi logger.log() dan tentukan tahap tersuai:

# 使用自定义级别
logger.log(5, "自定义跟踪消息")
Salin selepas log masuk

Buat pemformat tersuai

Format mesej log boleh diubah dengan mencipta kelas pemformat tersuai. Kelas ini mesti melaksanakan kaedah f<code>f<strong class="keylink">ORM</strong>at()ORM

at(), yang memformat mesej pengelogan.

import logging

# 创建自定义格式化程序类
class MyFormatter(logging.Formatter):
def format(self, record):
# 自定义格式化代码
return f"{record.levelname}: {record.message}"
Salin selepas log masuk
Gunakan pemformat tersuai

Selepas mencipta pemformat tersuai anda, anda boleh melampirkannya pada pembalak:

# 使用自定义格式化程序
logger.handlers[0].setFormatter(MyFormatter())
Salin selepas log masuk
Gunakan sambungan logger

logging.LoggerAdapter()Pelanjutan logger membolehkan anda menambah fungsi tersuai pada logger sedia ada anda. Anda boleh menggunakan

untuk membuat sambungan logger dan menyediakan maklumat atau pengendali kontekstual tambahan.

import logging

# 创建新的日志记录器
logger = logging.getLogger("my_logger")

# 创建日志记录器扩展
adapter = logging.LoggerAdapter(logger, {"extra_info": "额外信息"})

# 使用日志记录器扩展
adapter.info("扩展日志消息")
Salin selepas log masuk
Gunakan pemanjang logger

extraPemanjangan logger juga membolehkan anda menambah maklumat kontekstual tambahan pada log mesej. Maklumat ini boleh diakses melalui kamus

.

# 从日志记录器扩展器访问额外信息
print(adapter.extra["extra_info"])
Salin selepas log masuk
Pengendali tersuai

Selain memanjangkan modul Pengelogan, anda juga boleh membuat pengendali tersuai untuk mengendalikan mesej pengelogan. Pengendali tersuai membolehkan anda mengawal cara mesej pengelogan dikendalikan, seperti melalui e-mel atau pemberitahuan Slack.

import logging

# 创建自定义处理程序类
class MyHandler(logging.Handler):
def emit(self, record):
# 自定义处理逻辑
pass

# 将自定义处理程序添加到日志记录器
logger.addHandler(MyHandler())
Salin selepas log masuk
Ringkasan

Sambungan Python

Modul Pengelogan membolehkan anda mempertingkatkan kefungsian pengelogan dengan menambahkan tahap tersuai, pemformat, pengendali dan pengembang. Dengan melanjutkan modul ini, anda boleh memudahkan penyahpepijatan, meningkatkan pengendalian ralat dan mempunyai pengalaman pengelogan yang lebih komprehensif. 🎜

Atas ialah kandungan terperinci Sambungan kepada modul Pengelogan Python: menambah fungsi tersuai. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!