Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Log ke Fail dan Konsol dalam Python Menggunakan logging.StreamHandler?

Bagaimana untuk Log ke Fail dan Konsol dalam Python Menggunakan logging.StreamHandler?

Susan Sarandon
Susan Sarandonasal
2024-10-18 19:00:29499semak imbas

How to Log to Both File and Console in Python Using logging.StreamHandler?

Log ke Kedua-dua Fail dan Konsol dalam Python

Pengelogan Python menyediakan fungsi yang mantap untuk pengendalian mesej. Secara lalai, mesej biasanya ditulis pada fail log yang ditetapkan. Walau bagaimanapun, anda juga mungkin ingin menduplikasi mesej ini ke konsol, memastikan keterlihatan serta-merta semasa pelaksanaan program.

Untuk mencapai ini, gunakan kelas StreamHandler, yang membolehkan anda menulis pengelogan output kepada sys.stdout, aliran keluaran standard. Ikuti langkah berikut:

  1. Import modul pengelogan: Mulakan dengan mengimport modul pengelogan ke dalam skrip anda.
  2. Konfigurasikan StreamHandler: Buat contoh pengelogan.StreamHandler dan tentukan destinasi aliran output, seperti sys.stdout untuk output konsol. Anda juga boleh menetapkan tahap pengendali untuk menapis mesej yang diprosesnya.
  3. Tetapkan pemformat: Tentukan objek pengelogan.Pemformat untuk memformatkan mesej output. Anda boleh menentukan rentetan format yang diingini untuk menyesuaikan reka letak mesej.
  4. Lampirkan pengendali pada logger akar: Tambahkan StreamHandler yang dikonfigurasikan pada logger akar untuk mendayakan mesej log pada kedua-dua fail log dan konsol. Ini melibatkan menetapkan tahapnya dan menambah pengendali.

Berikut ialah contoh cara mengkonfigurasi StreamHandler:

<code class="python">import logging
import sys

# Create a StreamHandler using sys.stdout
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)

# Define a formatter and set it on the handler
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the handler to the root logger
root = logging.getLogger()
root.addHandler(handler)</code>

Dengan melaksanakan langkah ini, anda boleh mengeluarkan semua mesej pengelogan dengan mudah kepada kedua-dua fail log dan konsol, memberikan pandangan menyeluruh tentang aktiviti pengelogan aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Log ke Fail dan Konsol dalam Python Menggunakan logging.StreamHandler?. 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