• 0

كيف أفعّل وأعطّل تسجيل الكونسول في بايثون؟

أستخدم وحدة logging في بايثون وأريد تعطيل كونسول التسجيل لمدة معينة لكنني لم أنجح في فعل ذلك:

  #!/usr/bin/python
  import logging

  logger = logging.getLogger() # this gets the root logger
  # ... here I add my own handlers
  #logger.removeHandler(sys.stdout)
  #logger.removeHandler(sys.stderr)

  print logging.handlers
  # this will print [<logging.StreamHandler instance at ...>]
  # but I may have other handlers there that I want to keep

  logger.debug("bla bla")

أحتاج إلى تعطيل هذه الوحدة لمدة معينة ومن ثم إعادة تفعيلها فما أسهل طريقة لفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدّة طرق لتفعيل وتعطيل تسجيل الكونسول في لغة بايثون، وهذه الطرق تتباين من ناحية آلية عملها فيمكنك على سبيل المثال استخدام متغير propagate وجعله False حيث سيمنع هذا إرسال التسجيلات إلى السجلات الأعلى والتي تتضمن تسجيلات الكونسول كما في المثال التالي:

logger = logging.getLogger('my-logger')
logger.propagate = False
# now if you use logger it will not log to console.

أو يمكنك تعطيل خاصية disabled لدالة getlogger() من وحدة logging وجعلها true لتعطيل التسجيل وfalse لتفعيله مرة أخرى كما في المثال التالي:

logger = logging.getLogger()
logger.disabled = True
... whatever you want ...
logger.disabled = False

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن