दिलचस्प पोस्ट
Js का उपयोग कर सॉफ्टवेयर संस्करण संख्या की तुलना कैसे करें? (केवल संख्या) व्युत्पन्न वर्ग में ओवरराइंड किए गए कार्य आधार वर्ग के अन्य अतिभारियों को क्यों छिपाते हैं? छिपे हुए माता-पिता div में बाल अवकाश दिखाएं मॉलोक के साथ आवंटित सरणी प्रकार और सरणी के बीच अंतर जावा क्लास के लिए उपयोग किए जाने वाले चर को किस प्रकार उपयोग किया जाता है? एक हैश के लिए नमक छिपाने की आवश्यकता जावास्क्रिप्ट में किसी ऑब्जेक्ट की चाबियाँ / गुणों की कुशलता कैसे गिनेंगी? क्या हम जावा में अहस्ताक्षरित बाइट बना सकते हैं? वर्ड दस्तावेज़ बनाने के लिए एक अच्छा जावा एपीआई क्या है? मैं सप्ताह की शुरुआत के लिए दिनांक समय कैसे प्राप्त करूं? किसी तालिका में डायनामिक टेक्स्टबॉक्स के लिए क्लास सत्यापन सेट करें एचटीएमएल बॉडी के साथ मेल टू जावास्क्रिप्ट का उपयोग यूआरएल मान्य करने की कोशिश कर रहा है इनपुट टेक्स्ट बॉक्स में मान प्राप्त करें नया नंबर () बनाम संख्या ()

मैं अनुरोध पुस्तकालय से लॉग संदेशों को कैसे अक्षम करूं?

डिफ़ॉल्ट रूप से, अनुरोध पुस्तकालय कंसोल में लॉग संदेश लिखता है, Starting new HTTP connection (1): example.com करने की पंक्तियों के साथ Starting new HTTP connection (1): example.com आदि। मुझे इन संदेशों में आमतौर पर कोई दिलचस्पी नहीं है, मैं उन्हें कैसे अक्षम कर सकता हूं?

वेब के समाधान से एकत्रित समाधान "मैं अनुरोध पुस्तकालय से लॉग संदेशों को कैसे अक्षम करूं?"

मुझे पता चला है कि कैसे अनुरोध लॉगिंग स्तर कॉन्फ़िगर करें, यह मानक लॉगिंग मॉड्यूल के माध्यम से किया जाता है मैंने इसे लॉग इन न करने के लिए कॉन्फ़िगर करने का निर्णय लिया जब तक कि वे कम से कम चेतावनियां न हों:

 import logging logging.getLogger("requests").setLevel(logging.WARNING) 

यदि आप urlib3 लाइब्रेरी के लिए इस सेटिंग को लागू करना चाहते हैं (आमतौर पर अनुरोधों के द्वारा भी उपयोग किया जाता है), तो निम्न जोड़ें:

 logging.getLogger("urllib3").setLevel(logging.WARNING) 

अगर आप किसी भी (संभवतया गहराई से नेस्टेड) ​​मॉड्यूल के लॉगिंग को संशोधित करने का तरीका तलाश रहे हैं, लॉगिंग का उपयोग करें। logging.Logger.manager.loggerDict सभी लॉगर ऑब्जेक्ट्स के एक शब्दकोश प्राप्त करने के लिए, जिसे आप logging.getLogger के तर्क के रूप में उपयोग कर सकते हैं logging.getLogger :

 import requests import logging for key in logging.Logger.manager.loggerDict: print(key) # requests.packages.urllib3.connectionpool # requests.packages.urllib3.util # requests.packages # requests.packages.urllib3 # requests.packages.urllib3.util.retry # PYREADLINE # requests # requests.packages.urllib3.poolmanager logging.getLogger('requests').setLevel(logging.CRITICAL) # Could also use the dictionary directly: # logging.Logger.manager.loggerDict['requests'].setLevel(logging.CRITICAL) 
 import logging urllib3_logger = logging.getLogger('urllib3') urllib3_logger.setLevel(logging.CRITICAL) 

इस तरह से urllib3 से level = information के सभी संदेश लॉगफ़ाइल में मौजूद नहीं होंगे।

तो आप अपने लॉग संदेशों के लिए level = INFO का उपयोग जारी रख सकते हैं … बस उस पुस्तकालय के लिए इसे संशोधित करें जो आप उपयोग कर रहे हैं।

मुझे आपके दस्तावेज़ की तरह एक समस्या होने के बाद, दस्तावेज अनुभाग को प्रतिलिपि / पेस्ट करें जिसे मैंने इसके बारे में या दो सप्ताह पहले लिखा था:

 import requests import logging # these two lines enable debugging at httplib level (requests->urllib3->httplib) # you will see the REQUEST, including HEADERS and DATA, and RESPONSE with HEADERS but without DATA. # the only thing missing will be the response.body which is not logged. import httplib httplib.HTTPConnection.debuglevel = 1 logging.basicConfig() # you need to initialize logging, otherwise you will not see anything from requests logging.getLogger().setLevel(logging.DEBUG) requests_log = logging.getLogger("requests.packages.urllib3") requests_log.setLevel(logging.DEBUG) requests_log.propagate = True requests.get('http://httpbin.org/headers') 

logging.config.dictConfig का उपयोग कर किसी के लिए आप इस तरह से शब्दकोश में अनुरोध पुस्तकालय लॉग स्तर को बदल सकते हैं:

 'loggers': { '': { 'handlers': ['file'], 'level': level, 'propagate': False }, 'requests.packages.urllib3': { 'handlers': ['file'], 'level': logging.WARNING } } 

लॉगर्स जो लॉग संदेश उत्पन्न कर रहा था, उस पर Kbrose का मार्गदर्शन बेहद उपयोगी था मेरे डीजेंगो प्रोजेक्ट के लिए, मुझे 120 अलग-अलग लॉगर्स के माध्यम से सॉर्ट करना पड़ा जब तक कि मुझे पता चला कि यह elasticsearch पायथन पुस्तकालय था जो मेरे लिए समस्याएं पैदा कर रहा था अधिकांश प्रश्नों में मार्गदर्शन के अनुसार, मैंने इसे अपने लॉगर में जोड़कर अक्षम कर दिया है:

  ... 'elasticsearch': { 'handlers': ['console'], 'level': logging.WARNING, }, ... 

यहां पोस्टिंग के मामले में किसी और को लॉग-इन लॉग संदेश देखे जा रहे हैं, जब भी वे लचीलाश्रेष्ठ क्वेरी चलाते हैं।

सरल: requests.packages.urllib3.disable_warnings() बाद सिर्फ requests.packages.urllib3.disable_warnings() जोड़ें

मुझे यकीन नहीं है कि पिछले तरीकों से काम करना बंद हो गया है, लेकिन किसी भी मामले में चेतावनी हटाने का एक और तरीका है:

PYTHONWARNINGS="ignore:Unverified HTTPS request" ./do-insecure-request.py

मूल रूप से, स्क्रिप्ट निष्पादन के संदर्भ में एक वातावरण चर जोड़ने।

प्रलेखन से: https://urlib3.readthedocs.org/en/latest/security.html#disabling-warnings

यदि आपके पास कॉन्फ़िगरेशन फ़ाइल है, तो आप इसे कॉन्फ़िगर कर सकते हैं।

लॉगर्स अनुभाग में urllib3 जोड़ें:

 [loggers] keys = root, urllib3 

Logger_urllib3 अनुभाग जोड़ें:

 [logger_urllib3] level = WARNING handlers = qualname = requests.packages.urllib3.connectionpool