Latihan langsung dengan modul Pembalakan Python: Membina sistem pembalakan yang lengkap

王林
Lepaskan: 2024-02-21 10:10:04
ke hadapan
1085 orang telah melayarinya

Python Logging 模块的动手实践:构建一个完整的日志记录系统

Log, lograkaman, debugging, aplikasi, pembangunan

Penciptaan dan penggunaan Logger

Inti modul Logging ialah kelas Logger. Untuk bermula, anda perlu membuat contoh Logger:

importurs
logger=ursing.er()
Salin selepas log masuk

Anda boleh menggunakan atribut .name untuk menentukan Logger untuk log anda:

logger=ursing.er("my_application")
Salin selepas log masuk

Tahap Log: Tentukan Keterukan

Anda boleh menentukan keterukan entri log dengan menetapkan atribut tahap kepada salah satu tahap terbina dalam. Tahap berjulat daripada DEBUG (paling teruk) kepada FATAL (paling teruk) seperti berikut:

level=ursing.L.DEBUG# 调试级别
level=ursing.L.INFO# 信息级别
level=ursing.L.WARNING# 告警级别
Salin selepas log masuk

Pemproses: memformat dan menyebarkan log

Pemproses ialah komponen yang mengambil log daripada Logger dan menghantarnya ke destinasi tertentu. Pemproses terbina dalam menyediakan pendekatan luar kotak:

# 将日志信息发送到标准输出(终端)
handler=ursing.mhandler()
Salin selepas log masuk

Anda boleh menggunakan atribut .fORMatter untuk menyesuaikan format untuk log anda:

handler.er=ursing.er(ursing.F("%(levelname)s:%(message)s"))
Salin selepas log masuk

Penapis: Hanya tangkap log yang anda minati

Penapis membolehkan anda menangkap hanya log yang memenuhi kriteria tertentu. Gunakan kelas Penapis:

filter=ursing.r()
filter.re=rs.ur("ERROR")# 仅匹配“ERROR”级别的日志
Salin selepas log masuk

Letakkan semuanya

Lampirkan pemproses dan penapis pada Logger untuk membina saluran paip pembalakan yang lengkap:

logger.addhandler(handler, filter)
Salin selepas log masuk

Contoh tangan: pembalak lengkap

Pertimbangkan aplikasi yang dijalankan dalam fail "example.py". Seperti yang ditunjukkan di bawah, kami menggunakan modul Pengelogan untuk membina pembalak komprehensif:

importurs
logger=ursing.er("my_example_app")

# 根级别为“INFO”
logger.level=ursing.L.INFO

# 创建一个到文件“app.log”的处理器
file_handler=ursing.FH("app.log",mode="a")
file_handler.er=ursing.er(ursing.F("%(asctime)s -%(levelname)s:%(message)s"))

# 创建一个到终端的处理器
console_handler=ursing.mhandler()
console_handler.er=ursing.er(ursing.F("%(message)s"))

# 将处理器附加到日志
logger.addhandler(file_handler)
logger.addhandler(console_handler)
Salin selepas log masuk

Dalam aplikasi, anda boleh menggunakan kaedah .log() untuk menulis maklumat pada log pada tahap tertentu:

logger.info("开始应用程序")
logger.error("应用程序遇到一个严重问题")
Salin selepas log masuk

Kesimpulan

Modul Pengelogan memberikan anda kawalan yang komprehensif dan fleksibel ke atas pengelogan aplikasi. Gabungkan ini dengan tahap, pemproses dan penapis yang sesuai, dan anda boleh membina asas pengelogan yang teguh dan berwawasan untuk membantu anda mengasingkan masalah, menjejaki tingkah laku aplikasi dan optimumkanprestasi.

Atas ialah kandungan terperinci Latihan langsung dengan modul Pembalakan Python: Membina sistem pembalakan yang lengkap. 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!