cari
Rumahpembangunan bahagian belakangTutorial PythonModul Pembalakan Python sedang beraksi: Membina aplikasi pembalakan yang mantap

Modul Pembalakan Python sedang beraksi: Membina aplikasi pembalakan yang mantap

Feb 21, 2024 am 09:12 AM
pythonnyahpepijatpembalakanKebolehskalaankebolehselenggaraan

Python Logging 模块实战:构建健壮的日志记录应用程序

python Modul pengelogan ialah alat yang berkuasa untuk aplikasi pengelogan , yang membantu pembangun merekodkan peristiwa, ralat dan maklumat dengan mudah dalam aplikasi. Dengan menulis maklumat pengelogan pada fail atau pada konsol, modul Pengelogan boleh memberikan cerapan berharga tentang tingkah laku aplikasi, dengan itu meningkatkan keteguhan dan kebolehselenggaraan aplikasi.

Konfigurasikan pengelogan

Mengkonfigurasi modul Pengelogan memerlukan lulus fungsi logging.basicConfig(). Fungsi ini menerima parameter berikut:

  • nama fail: Log laluan fail
  • peringkat: Tahap pengelogan (seperti DEBUG, INFO, AMARAN)
  • format: Format maklumat rekod log
  • datefmt: format cap masa

Sebagai contoh, kod berikut mengkonfigurasi modul Pengelogan untuk menulis semua maklumat pengelogan ke fail bernama "app.log":

import logging

logging.basicConfig(filename="app.log", level=logging.DEBUG, fORMat="%(asctime)s %(levelname)s %(message)s", datefmt="%Y-%m-%d %H:%M:%S")

Tahap pembalakan

Modul Pembalakan menyokong lima peringkat pembalakan, dalam urutan keterukan yang semakin meningkat:

  • DEBUG
  • INFO
  • AMARAN
  • KESILAPAN
  • KRITIKAL

Anda hanya boleh log mesej ralat dengan menambah level 参数设置为相应的级别来配置日志记录信息。例如,logging.DEBUG 级别记录所有日志记录信息,而 logging.ERROR.

Kaedah pembalakan

Modul Pembalakan menyediakan kaedah pembalakan berikut:

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

Kaedah ini menerima mesej untuk dilog sebagai parameter. Contohnya, kod berikut mencatatkan mesej tahap INFO:

logging.info("Application started successfully")

Pemegang pembalakan

Sebagai tambahan kepada fungsi basicConfig(), modul Pembalakan juga membenarkan penciptaan pengendali pembalakan tersuai. Pemegang boleh digunakan untuk log masuk ke sasaran yang berbeza seperti konsol, fail atau pelayan jauh.

Untuk membuat pemegang, gunakan fungsi logging.getLogger(). Sebagai contoh, kod berikut mencipta pemegang bernama "my_logger":

my_logger = logging.getLogger("my_logger")

Hendal kemudiannya boleh ditambah ke senarai pemegang menggunakan kaedah addHandler(). Contohnya, kod berikut menambah pemegang pada konsol:

my_logger.addHandler(logging.StreamHandler())

Penapis Pengelogan

Penapis pengelogan boleh digunakan untuk menapis maklumat pengelogan berdasarkan syarat tertentu. Penapis boleh berdasarkan tahap mesej, sumber atau kriteria tersuai lain.

Untuk membuat penapis, gunakan kelas log.Filter. Penapis boleh dihantar sebagai hujah kepada fungsi logging.Filter 类。过滤器可以作为 addHandler(). Contohnya, kod berikut mencipta penapis yang hanya merekodkan mesej peringkat INFO atau lebih tinggi:

class MyFilter(logging.Filter):
def filter(self, record):
return record.levelno >= logging.INFO

my_logger.addHandler(logging.StreamHandler(MyFilter()))

Amalan Terbaik

Berikut ialah beberapa amalan terbaik untuk menggunakan modul Pengelogan:

  • Sentiasa konfigurasi pengelogan: Pastikan untuk mengkonfigurasi modul Pengelogan dalam aplikasi anda untuk mengelakkan tingkah laku yang tidak dijangka.
  • Gunakan tahap pengelogan yang sesuai: Pilih tahap pengelogan yang betul berdasarkan keterukan mesej.
  • Menggunakan Pemegang Pembalakan: Buat pengendali pembalakan tersuai untuk menghalakan maklumat pembalakan ke berbilang destinasi.
  • Gunakan penapis pengelogan: Tapis maklumat pengelogan untuk hanya log mesej yang berkaitan.
  • Ralat dan Pengecualian Pengelogan: Sentiasa log ralat dan pengecualian untuk membantu penyahpepijatan dan penyelesaian masalah.

Kesimpulan

Python Modul Pengelogan ialah alat yang tidak ternilai untuk membina aplikasi yang teguh dan boleh diselenggara. Dengan merekodkan gelagat aplikasi dengan berkesan, modul Pengelogan membantu pengesanan awal dan penyelesaian masalah, meningkatkan kebolehpercayaan dan kestabilan aplikasi. Dengan mengikuti amalan dan teknik terbaik yang digariskan dalam artikel ini, pembangun boleh memaksimumkan faedah modul Pengelogan dan mencipta aplikasi dengan keupayaan pengelogan yang berkuasa.

Atas ialah kandungan terperinci Modul Pembalakan Python sedang beraksi: Membina aplikasi pembalakan yang mantap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:编程网. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Python: menyelam mendalam ke dalam kompilasi dan tafsiranPython: menyelam mendalam ke dalam kompilasi dan tafsiranMay 12, 2025 am 12:14 AM

Pythonusesahybridmodelofcompilationandinterpretation: 1) thepythoninterpretercompilessourcodcecodeintoplatform-independentbytecode.2) thepythonvirtualmachine (PVM) thenexecutesthisbytecode, BalantingeaseOfusoWithperformance.

Adakah Python diterjemahkan atau bahasa yang disusun, dan mengapa ia penting?Adakah Python diterjemahkan atau bahasa yang disusun, dan mengapa ia penting?May 12, 2025 am 12:09 AM

Pythonisbothinterpretedandandcompiled.1) it'scompiledtobytecodeforporabilityAcrossplatforms.2) theBytecodeistheninterpreted, membolehkanfordynamictypingandrapiddevelopment, walaupunItmayBeslowerLowerWanLelyCiledlanguages.

Untuk gelung vs semasa gelung di python: perbezaan utama dijelaskanUntuk gelung vs semasa gelung di python: perbezaan utama dijelaskanMay 12, 2025 am 12:08 AM

ForloopsareidealwhenyonesshenumberofiterationsationseSinadvance, whilewhileloopsarebetterforsituationshipheryouneedtoloopuntilaconditionismet.forloopsaremoreeficientablyandable, yang sesuai, manakala whileloopsoffermorecontrolandareusefereficeficeficeficeficient,

Untuk dan semasa gelung: panduan praktikalUntuk dan semasa gelung: panduan praktikalMay 12, 2025 am 12:07 AM

Forloopsareusedwhenthenumberofiterationsisknowninadvance, whilewhileloopsareusedwhenTheiterationsdependonacondition.1) forloopsareidealforiteratingoversequencesLikeListsorArrays.2)

Python: Adakah ia benar -benar ditafsirkan? Membebaskan mitosPython: Adakah ia benar -benar ditafsirkan? Membebaskan mitosMay 12, 2025 am 12:05 AM

Pythonisnotpurelyinterinterpreted; itusesahybridapproachofbytecodecompilationandruntimeinterpretation.1) pythoncompilessourcecodeintobytecode, whoomeSthenexecutedbythepythonvirtualmachine (pvm)

Senarai concatenate python dengan elemen yang samaSenarai concatenate python dengan elemen yang samaMay 11, 2025 am 12:08 AM

ToConcatenatelistsinpythonwiththesameelements, gunakan: 1) operatortokokduplicates, 2) asettoremoveduplicates, OR3) listomprehensionfensionfensionfensionfensiontroloverduplicates, setiapmethodhasdifferentperformanceAdordlications.

Ditafsirkan vs bahasa yang disusun: Tempat PythonDitafsirkan vs bahasa yang disusun: Tempat PythonMay 11, 2025 am 12:07 AM

Pythonisaninterpretedlanguage, menawarkanfuseofuseandflexibilitybutfacingperpormancelimitationsincriticalapplications.1) interpretlanguagesepythonexecuteline-by-line, membolehkanMmediateDebackandrapidprototyping.2)

Untuk dan semasa gelung: Bilakah anda menggunakan setiap python?Untuk dan semasa gelung: Bilakah anda menggunakan setiap python?May 11, 2025 am 12:05 AM

Useforloopswhenthenumberofiterationsisknowninadvance,andwhileloopswheniterationsdependonacondition.1)Forloopsareidealforsequenceslikelistsorranges.2)Whileloopssuitscenarioswheretheloopcontinuesuntilaspecificconditionismet,usefulforuserinputsoralgorit

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft