Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua pembalakan dalam pembangunan web Python

Petua pembalakan dalam pembangunan web Python

WBOY
WBOYasal
2023-06-17 09:10:391448semak imbas

Pengelogan adalah aspek yang sangat penting dalam pembangunan web Python. Melalui pengelogan, kami dapat memahami dengan lebih baik masalah dan peristiwa dalam aplikasi supaya kami dapat menyelesaikannya dalam masa dan mengoptimumkan kod.

Berikut ialah beberapa petua pengelogan dalam pembangunan web Python:

1. Gunakan pengelogan perpustakaan standard

Perpustakaan standard Python mengandungi pengelogan modul pengelogan. Dengan menggunakan pengelogan, kami boleh merekodkan peristiwa yang berlaku dalam aplikasi kami dengan mudah. Berikut ialah kod contoh mudah untuk menggunakan pengelogan untuk merekod log:

import logging

logging.basicConfig(filename='example.log', level=logging.INFO)

logging.info('This is an information message.')
logging.warning('This is a warning message.')
logging.error('This is an error message.')

Dalam contoh ini, kami mula-mula mengkonfigurasi pengelogan melalui fungsi basicConfig dan menetapkan nama fail log dan tahap log. Kemudian kami merekodkan tahap maklumat log yang berbeza melalui pembalakan. Maklumat log ini akan disimpan dalam fail example.log.

2. Tentukan tahap log

pengelogan menyediakan pelbagai peringkat kaedah pengelogan, termasuk DEBUG, INFO, AMARAN, RALAT dan KRITIKAL. Dengan menentukan tahap log yang berbeza, kami boleh mengawal output maklumat log dengan cara yang lebih terperinci. Sebagai contoh, kita boleh menetapkan tahap log kepada tahap AMARAN, maka hanya maklumat log AMARAN, RALAT dan KRITIKAL yang akan dikeluarkan. Berikut ialah contoh kod:

import logging

logging.basicConfig(filename='example.log', level=logging.WARNING)

logging.debug('This is a debugging message.')
logging.info('This is an information message.')
logging.warning('This is a warning message.')
logging.error('This is an error message.')
logging.critical('This is a critical message.')

Dalam contoh ini, kami menetapkan tahap log kepada tahap AMARAN. Oleh itu, hanya maklumat log peringkat AMARAN, RALAT dan KRITIKAL akan dikeluarkan kepada fail log.

3. Tentukan format log

Menggunakan modul pengelogan, kami juga boleh menyesuaikan format mesej log. Secara lalai, mesej log dikeluarkan dalam format tetap, termasuk cap masa, tahap log dan mesej log itu sendiri. Walau bagaimanapun, kami boleh menyesuaikan format log dengan mengubah suai format. Berikut ialah kod sampel:

import logging

logging.basicConfig(filename='example.log', level=logging.INFO, format='%(asctime)s:%(levelname)s:%(message)s')

logging.info('This is an information message.')
logging.warning('This is a warning message.')
logging.error('This is an error message.')

Dalam contoh ini, kami menyesuaikan format log melalui parameter format, termasuk cap masa, tahap log dan mesej log itu sendiri.

4. Putaran log

Dalam aplikasi web, fail log cenderung menjadi sangat besar. Jika tidak dibersihkan tepat pada masanya, ia akan menduduki banyak ruang cakera dan mungkin menyebabkan limpahan cakera. Oleh itu, dalam aplikasi web, selalunya perlu mengkonfigurasi putaran log untuk memastikan fail log tidak menjadi terlalu besar. Terdapat banyak cara untuk memutar log Kaedah yang paling biasa ialah memutar fail log secara berkala mengikut masa dan mengehadkan bilangan fail. Berikut ialah contoh kod:

import logging
from logging.handlers import TimedRotatingFileHandler

# create a timed rotating file handler
handler = TimedRotatingFileHandler('example.log', when='midnight', backupCount=7)

# set the handler's formatter
formatter = logging.Formatter('%(asctime)s:%(levelname)s:%(message)s')
handler.setFormatter(formatter)

# get the logger object
logger = logging.getLogger('')
logger.addHandler(handler)
logger.setLevel(logging.INFO)

# log some messages
logger.debug('This is a debugging message.')
logger.info('This is an information message.')
logger.warning('This is a warning message.')
logger.error('This is an error message.')
logger.critical('This is a critical message.')

Dalam contoh ini, kami mencipta TimedRotatingFileHandler dan menetapkannya untuk memutar fail log mengikut hari. Kami juga mengehadkan bilangan fail log dengan menetapkan parameter backupCount. Apabila mengelog maklumat, kami menambahkannya pada objek logger dan bukannya menggunakan fungsi basicConfig.

Ringkasan

Dalam pembangunan web Python, pengelogan merupakan aspek yang sangat penting. Dengan menggunakan modul pengelogan dengan betul, kami dapat memahami dengan lebih baik masalah dan peristiwa dalam aplikasi supaya kami dapat menyelesaikannya dalam masa dan mengoptimumkan kod. Beberapa teknik pengelogan disebutkan di atas, termasuk menggunakan pengelogan perpustakaan standard, menentukan tahap log, menentukan format log, dan putaran log. Setiap orang boleh memilih kaedah yang berbeza mengikut keperluan dan keadaan sebenar mereka sendiri.

Atas ialah kandungan terperinci Petua pembalakan dalam pembangunan web Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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