Menulis Log ke Stdout dan Fail Log Secara Serentak dalam Python
Mengawal output log boleh menjadi penting untuk nyahpepijat dan menangkap maklumat penting dalam Python. Modul pengelogan menyediakan keupayaan yang luas untuk mengelog mesej ke fail. Walau bagaimanapun, adalah berfaedah untuk turut memaparkan log ke konsol (stdout) untuk keterlihatan serta-merta.
Penyelesaian:
Untuk memastikan semua mesej pengelogan dikeluarkan kepada stdout sebagai tambahan kepada fail log yang ditetapkan, anda boleh melanjutkan kefungsian modul pengelogan dengan menambahkan pengelogan.StreamHandler() pada pengelog akar.
Pelaksanaan:
<code class="python">import logging import sys # Capture stdout stdout = sys.stdout # Create a root logger root = logging.getLogger() # Set the logging level (DEBUG in this case) root.setLevel(logging.DEBUG) # Define the StreamHandler handler = logging.StreamHandler(stdout) # Configure the message format formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) # Add the StreamHandler to the root logger root.addHandler(handler)</code>
Dengan pengubahsuaian ini, semua mesej yang dilog menggunakan kaedah seperti logger.warning, logger.critical dan logger.error akan ditulis pada kedua-dua fail log yang dikonfigurasikan dan dipaparkan terus ke stdout. Ini memudahkan penyelesaian masalah dan memastikan mesej mudah diakses untuk diperiksa dengan segera.
Atas ialah kandungan terperinci Bagaimana untuk Log ke Stdout dan Log Fail Secara serentak dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!