try:
print blah
except KeyError:
traceback.print_exc()
मैं इस तरह डीबग करता था। मैं कंसोल पर प्रिंट करूंगा। अब, मैं प्रिंट के बजाय सबकुछ लॉग करना चाहता हूं, क्योंकि अपाचे प्रिंटिंग की अनुमति नहीं देता है। तो, मैं इस पूरे ट्रेसबैक को कैसे लॉग करूं?जब मैं इसे बताता हूं तो ट्रेसबैक लॉग करने के लिए मैं Django के लॉगर का उपयोग कैसे करूं?
import logging
...
logger = logging.getLogger("blabla")
...
try:
print blah # You can use logger.debug("blah") instead of print
except KeyError:
logger.exception("An error occurred")
यह स्टैक ट्रेस प्रिंट होगा और अपाचे के साथ काम करेंगे:
यह वास्तव में पूरे ट्रेसबैक को लॉग करता है? – TIMEX
हाँ, पूर्ण स्टैक ट्रेस। प्रलेखन से: "Logger.exception() Logger.error() के समान लॉग संदेश बनाता है। अंतर यह है कि Logger.exception() इसके साथ एक स्टैक ट्रेस डंप करता है।" यह दस्तावेज़ीकरण का लिंक है - http://docs.python.org/library/logging.html – Lin
लॉग कहां से सहेजा जाता है? आपने लॉगर = logging.getLogger ('bla') परिभाषित किया है, लेकिन क्या यह एक विशिष्ट निपुणता को सहेजता है? एक फ़ाइल या डेटाबेस? – TIMEX