Contoh RotatingFileHandler Python Logging
RotatingFileHandler berputar log mengikut saiz, 1. Set maxBytes = 1010241024 untuk mencapai putaran setiap 10MB, 2. Projek bersaiz sederhana dan secara berkesan dapat menguruskan saiz dan bilangan fail log.
Berikut adalah contoh praktikal menggunakan RotatingFileHandler
dalam modul logging
Python, sesuai untuk senario di mana log perlu diputar secara automatik oleh saiz fail.

? Penggunaan Asas: Putar fail log mengikut saiz
RotatingFileHandler
secara automatik boleh membuat fail baru selepas fail log mencapai saiz yang ditentukan, mengelakkan fail log tunggal terlalu besar.
import pembalakan dari logging.handlers Import RotatingFileHandler # Buat logger logger = logging.getLogger ('my_logger') logger.setLevel (logging.info) # Tentukan laluan fail pengendali dan putar log_file = 'app.log' Pengendali = RotatingFileHandler ( log_file, # log laluan fail maxbytes = 2000, # maksimum 2kb setiap fail log (nilai contoh) backupcount = 5 # menyimpan sehingga 5 fail sandaran) handler.setLevel (logging.info) # Tetapkan Log Formatter = Logging.Formatter (' %(Asctime) s - %(nama) s - %(levelName) s - %(mesej) s') Pengendali.SetFormatter (formatter) # Tambahkan pengendali ke logger logger.addhandler (pengendali) # Tulis beberapa log untuk I dalam julat (100): logger.info (f'this adalah nombor mesej log {i} ')
? Keterangan kesan putaran log
- Fail log utama:
app.log
- Fail sandaran berputar:
app.log.1
,app.log.2
, ...,app.log.5
- Apabila
app.log
melebihi 2000 bait, ia akan dinamakan semula secara automatik kepadaapp.log.1
dan membuatapp.log
baru untuk terus menulis. -
backupCount=5
bermakna sehingga 5 fail log lama dikekalkan, dan yang melebihi mereka akan dipadamkan.
⚠️ Nota:
maxBytes
adalah bilangan bait, 2000 bait hanya digunakan untuk demonstrasi, dan dalam praktiknya ia boleh ditetapkan kepada1024*1024
(1MB), dll.
✅ Cadangan konfigurasi yang lebih praktikal
Import OS import pembalakan dari logging.handlers Import RotatingFileHandler def setup_logger (): logger = logging.getLogger ('my_app') logger.setLevel (logging.debug) logger.propagate = palsu # Mencegah penyebaran log ke pembalak atas # Buat direktori log (jika tidak ada) log_dir = 'log' os.makedirs (log_dir, exist_ok = true) log_file = os.path.join (log_dir, 'app.log') Pengendali = RotatingFileHandler ( log_file, MaxBytes = 10 * 1024 * 1024, # 10 MB backupcount = 7, # simpan 7 backup encoding = 'UTF-8' # pengekodan yang disyorkan) handler.setLevel (logging.info) # Format: Mengandungi maklumat yang lebih terperinci seperti Nombor Talian, Nama Fungsi, Formatter = Logging.Formatter ( '%(asctime) s | %(levelname) -8s | %(nama) s | %(funcName) s:%(lineno) d | %(mesej) s ', dateFmt = '%y-%m-%d%h:%m:%s' ) Pengendali.SetFormatter (formatter) logger.addhandler (pengendali) Logger kembali # Gunakan logger = setup_logger () logger.info ("Permohonan bermula.") logger.warning ("Ini adalah amaran.")
? Arahan tambahan
-
maxBytes
: Nilai yang sesuai mesti ditetapkan. Terlalu kecil akan menyebabkan putaran yang kerap, dan terlalu besar boleh menyebabkan fail log kembung. -
backupCount
: Elakkan pertumbuhan tanpa had dan mencegah cakera daripada diisi. -
encoding
: Adalah disyorkan untuk menyatakan secara jelas'utf-8'
semasa mengendalikan watak-watak Cina atau khas. -
propagate=False
: Menghalang log daripada berulang kali output oleh logger induk (terutamanya dalam projek modular).
Pada dasarnya itu sahaja. Konfigurasi ini sesuai untuk projek yang paling kecil dan sederhana, dan mudah dan berkesan, tidak rumit tetapi mudah diabaikan.
Atas ialah kandungan terperinci Contoh RotatingFileHandler Python Logging. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Versi penuh komik Mantixing adalah https://www.mantianxingmh.com. Platform ini merangkumi pelbagai tema seperti semangat, cinta, ketegangan, fiksyen sains, dan lain -lain, dengan sumber yang kaya dan kemas kini yang tepat pada masanya dan menyokong pengambilan semula diklasifikasikan; Ia menyediakan kualiti gambar definisi tinggi, mod beralih halaman, latar belakang tersuai dan pelarasan kecerahan, dan mempunyai mod perlindungan mata untuk mengoptimumkan pengalaman membaca; Pengguna boleh membuat rak buku, menyimpan rekod bacaan, muat turun di luar talian, dan mencapai kemajuan penyegerakan silang peranti.

Flink sangat penting untuk seni bina pemprosesan aliran. Kafka memberikan mesej keupayaan untuk bertahan, dan keupayaan untuk memproses data dan juga perjalanan masa bergantung kepada flink. Dalam streaming-masa depan data besar kita tahu bahawa dua perkara yang paling penting untuk pemprosesan streaming adalah ketepatan dan alat penalaran masa. Dan Flink mempunyai sokongan yang sangat baik untuk kedua -duanya. Flink menjamin ketepatan. Untuk data aliran peristiwa yang berterusan, kerana peristiwa mungkin tidak tiba ketika kami memproses, ketepatan data mungkin terjejas. Amalan biasa kini mengamalkan pengiraan luar talian latency tinggi untuk memastikan ketepatan, tetapi juga mengorbankan latensi rendah. Ketepatan flink ditunjukkan dalam definisi tetingkap pengiraan selaras dengan penjanaan data

Gunakan mysqli_insert_id () (gaya prosedur), $ mysqli-> insert_id (gaya objek), atau $ pdo-> lastInsertId () (pdo) untuk mendapatkan ID dimasukkan terakhir dan perlu dipanggil dengan segera dalam sambungan yang sama untuk memastikan ketepatan.

AforloopinjavausesacounterPeatCode: Inisialisasi (mis., Inti = 0), setCondition (mis., I.

Gunakan sebut harga tunggal atau melepaskan petikan berganda ke output HTML dalam PHP. Adalah disyorkan untuk membungkus rentetan dengan petikan tunggal untuk mengelakkan konflik petikan atribut. Kandungan dinamik boleh dihasilkan dalam kombinasi dengan splicing berubah atau sintaks Heredoc.

FinalclassesesandmethodsinphppreventinheritanceAndoverRidingToprotectcriticalcode.2.afinalclasscannotbeextended, memastikanSingitsbehaviorRemainSunchanged.3.afinalmethodcannotbeoverridden.

Pintu masuk rasmi ke laman web ujian percuma MBTI adalah https://www.16personalities.com/. Laman web ini menyediakan ujian versi Cina dan Bahasa Inggeris, yang meliputi analisis dimensi keperibadian, laporan peribadi dan cadangan aplikasi pelbagai senario, membantu pengguna mendapatkan pemahaman yang mendalam tentang jenis keperibadian mereka.

Gunakan $ _getToAccessurlQueryStringVariablesInphp, suchasName = Johnandage = 30FromHttps: //example.com/search.php? Name = John & Age = 30;
