"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تسجيل الدخول إلى كل من الملف وStdout باستخدام وحدة تسجيل Python؟

كيفية تسجيل الدخول إلى كل من الملف وStdout باستخدام وحدة تسجيل Python؟

تم النشر بتاريخ 2024-11-01
تصفح:960

How to Log to Both File and Stdout using the Python Logging Module?

تسجيل الدخول إلى كل من الملف وStdout في Python باستخدام وحدة التسجيل

عند استخدام وحدة تسجيل Python، من المستحسن أن يكون لديك إخراج رسائل السجل ليس فقط إلى ملف السجل المحدد ولكن أيضًا إلى stdout للرؤية الفورية. ولتحقيق ذلك، توفر وحدة التسجيل حلاً مباشرًا.

يعتمد تكوين التسجيل على معالجات لتوجيه الإخراج. من خلال إضافة مثيل logging.StreamHandler() إلى مسجل الجذر، من الممكن إرسال رسائل إلى stdout بالإضافة إلى وجهاتها المقصودة.

مثال على تكوين معالج دفق لإخراج stdout:

import logging
import sys

# Get the root logger
root = logging.getLogger()

# Set the root logger level to DEBUG
root.setLevel(logging.DEBUG)

# Create a stream handler and set its level to DEBUG
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)

# Create a formatter to format the log messages
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the handler to the root logger
root.addHandler(handler)

من خلال تنفيذ هذا التكوين، يصبح من غير الضروري تكرار رسائل السجل باستخدام كل من أساليب المسجل وبيانات الطباعة القياسية. سيتم إخراج أدوات التسجيل مثل mylogger.critical("something Failed") إلى كل من ملف السجل المعين والإخراج القياسي، مما يوفر رؤية فورية مع الحفاظ على ممارسات التسجيل المناسبة.

بيان الافراج أعيد طبع هذه المقالة على: 1729249097 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3