मैं पायथन लॉगिंग का उपयोग कर रहा हूं मॉड्यूल रहा हूं और मैं कुछ समय के लिए कंसोल लॉगिंग को अक्षम करना चाहता हूं लेकिन यह काम नहीं करता है।
#!/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 logger.handlers
# this will print [<logging.StreamHandler instance at ...>]
# but I may have other handlers there that I want to keep
logger.debug("bla bla")
उपरोक्त कोड bla bla
stdout पर प्रदर्शित होता है और मुझे नहीं पता कि मैं कंसोल हैंडलर को सुरक्षित रूप से कैसे निष्क्रिय कर सकता हूं। मैं यह कैसे सुनिश्चित कर सकता हूं कि मैं अस्थायी रूप से कंसोलहैंडलर को हटा दूं और दूसरे को नहीं?
logger.handlers
इसे प्रिंट करते हैं, तो इसे खाली करने के लिए लॉग संदेश को कॉल करें (जैसा कि यह पूर्व logger.debug()
कॉल है)। प्रश्न में कोड केवल []
(हैंडलर की खाली सूची) प्रदर्शित करता है । पायथन 2.7.15 और पायथन 3.6.6 के साथ सत्यापित।