मै मैसेज लॉग करने के लिए लॉगिंग (आयात लॉगिंग) का उपयोग कर रहा हूं।फिल्टर के साथ लॉगिंग
1 एकल मॉड्यूल के भीतर, मैं डिबग स्तर पर संदेश (my_logger.debug ('संदेश')) प्रवेश करने कर रहा हूँ; function_b से
इन डिबग संदेशों के कुछ function_a से आते हैं() और अन्य(); मैं लॉगिंग को सक्षम/अक्षम करने में सक्षम होना चाहता हूं कि वे बी से या उससे आते हैं;
मुझे लगता है कि मुझे लॉगिंग के फ़िल्टरिंग तंत्र का उपयोग करना है।
कोई मुझे दिखाने कृपया सकते हैं कि कैसे कोड के नीचे मैं क्या चाहता हूं instrumented करने की आवश्यकता होगी? धन्यवाद।
import logging
logger= logging.getLogger("module_name")
def function_a(...):
logger.debug("a message")
def function_b(...):
logger.debug("another message")
if __name__ == "__main__":
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
#don't want function_a()'s noise -> ....
#somehow filter-out function_a's logging
function_a()
#don't want function_b()'s noise -> ....
#somehow filter-out function_b's logging
function_b()
अगर मैं अधिक मॉड्यूल और मॉड्यूल प्रति अधिक funcs को यह सरल उदाहरण बढ़ाया, मैं वालों के बहुत सारे के बारे में चिंतित हो जाएगा;
क्या मैं इसे प्रति मॉड्यूल 1 लॉगर तक रख सकता हूं? ध्यान दें कि लॉग संदेश "संरचित" हैं, यानी यदि फ़ंक्शन लॉगिंग कर रहे हैं तो यह कुछ पार्सिंग कार्य कर रहे हैं, उनमें सभी में एक उपसर्ग लॉगजर है .debug ("पार्सिंग: xxx") - क्या मैं किसी भी तरह से एक लाइन के साथ बंद कर सकता हूं बंद सभी "पार्स" संदेश (की परवाह किए बिना मॉड्यूल/समारोह संदेश उत्सर्जक?)
मुझे फ़िल्टर को हैंडलर में जोड़ना पड़ा। –