Jadual Kandungan
? Penggunaan Asas: Putar fail log mengikut saiz
? Keterangan kesan putaran log
✅ Cadangan konfigurasi yang lebih praktikal
? Arahan tambahan
Rumah pembangunan bahagian belakang Tutorial Python Contoh RotatingFileHandler Python Logging

Contoh RotatingFileHandler Python Logging

Jul 31, 2025 am 08:35 AM
php java pengaturcaraan

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.

Contoh Rotationfilehandler Python Logging

Berikut adalah contoh praktikal menggunakan RotatingFileHandler dalam modul logging Python, sesuai untuk senario di mana log perlu diputar secara automatik oleh saiz fail.

Contoh Rotationfilehandler Python Logging

? 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 kepada app.log.1 dan membuat app.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 kepada 1024*1024 (1MB), dll.

Contoh Rotationfilehandler Python Logging

✅ 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!

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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MANTIANXING COMICS Versi Penuh Masuk_mantianxing Komik Pengiklanan Edisi Khas Pautan MANTIANXING COMICS Versi Penuh Masuk_mantianxing Komik Pengiklanan Edisi Khas Pautan Sep 28, 2025 am 10:30 AM

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.

Rangka kerja pengkomputeran masa nyata yang boleh bergerak melalui masa dan ruang-pemprosesan masa Rangka kerja pengkomputeran masa nyata yang boleh bergerak melalui masa dan ruang-pemprosesan masa Sep 28, 2025 am 11:06 AM

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

Bagaimana untuk mendapatkan ID yang dimasukkan terakhir dalam php mysql? Bagaimana untuk mendapatkan ID yang dimasukkan terakhir dalam php mysql? Sep 28, 2025 am 05:57 AM

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.

Bagaimana untuk menggunakan gelung dengan kaunter di Java? Bagaimana untuk menggunakan gelung dengan kaunter di Java? Sep 30, 2025 am 11:24 AM

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

Cara menggema tag html dalam php Cara menggema tag html dalam php Sep 29, 2025 am 02:25 AM

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.

Bagaimana cara menggunakan kelas dan kaedah akhir dalam PHP? Bagaimana cara menggunakan kelas dan kaedah akhir dalam PHP? Sep 28, 2025 am 05:55 AM

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

MBTI Ujian Percuma Laman Web Rasmi Masuk_ MBTI Ujian Laman Web Percuma Pautan URL MBTI Ujian Percuma Laman Web Rasmi Masuk_ MBTI Ujian Laman Web Percuma Pautan URL Sep 28, 2025 am 10:00 AM

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.

Bagaimana cara bekerja dengan mendapatkan pembolehubah permintaan dalam php? Bagaimana cara bekerja dengan mendapatkan pembolehubah permintaan dalam php? Sep 29, 2025 am 01:30 AM

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

See all articles