पर समय कैसे सेट करें यह संभव है और लॉगिंग टाइमज़ोन जीएमटी को कैसे सेट करें?पायथन लॉगिंग: जीएमटी
(अर्थात %(asctime)s
प्रारूप में पैरामीटर)
पर समय कैसे सेट करें यह संभव है और लॉगिंग टाइमज़ोन जीएमटी को कैसे सेट करें?पायथन लॉगिंग: जीएमटी
(अर्थात %(asctime)s
प्रारूप में पैरामीटर)
logging.Formatter.converter = time.gmtime
(logging.Formatter.formatTime
की docstring में दस्तावेज)
बस की स्थापना logging.Formatter.converter = time.gmtime
अजगर 2.5 में मेरे लिए अप्रभावी है।
तो मैं एक बच्चे के वर्ग के साथ यह सेट बनाया है, और का उपयोग करें कि logging.Formatter के स्थान पर:
class UTCFormatter(logging.Formatter):
converter = time.gmtime
(यह 2.5 में मेरे लिए काम करता है, अगर किसी की मदद करता है।) –
पायथन 2.7 में मेरे लिए काम किया। तत्काल के लिए YAML वाक्यविन्यास दिखाते हुए एक सुझाए गए संपादन को जोड़ा गया, क्योंकि यह थोड़ा मुश्किल है। ('__init __()' विधि की कोई आवश्यकता नहीं है, जैसा कि मेरा पहला संपादन सुझाया गया है।) – evadeflow
मैं इन उत्तरों के दोनों के साथ समस्याओं था। तो मैं सिर्फ पूरे स्क्रिप्ट के लिए वैश्विक समय क्षेत्र बदल दिया है:
os.environ['TZ'] = 'Europe/London'
time.tzset()
सावधान रहें क्योंकि लंदन गर्मी में जीएमटी समय पर नहीं है। –
मैंने पाया कि यह उत्तर था जो लिनक्स पर पायथन 2.7 का उपयोग करके काम करता था। लिनक्स tzselect कमांड का उपयोग करके जांचने के लायक है जो भी आप निर्दिष्ट करते हैं वह आपके सिस्टम पर वैध टाइमज़ोन है, और 'डेट' कमांड के साथ पायथन के बाहर परीक्षण करना है। Django अपने सेटअप के लिए इस ओके को संभालने के लिए प्रतीत होता है, लेकिन गैर-Django पायथन स्क्रिप्ट से पाइथन लॉगिंग करते समय मुझे गलत टाइमज़ोन मिल रहा है। – RichVel
यह गलत है! लंदन में टाइमज़ोन हमेशा के लिए यूटीसी होने की गारंटी नहीं है। – Federico
और मैं अब भी आधिकारिक एचटीएमएल प्रलेखन नवीनीकृत किया है - 3.2 और 3.3 के लिए जल्द ही दिखाई देना चाहिए, और 2.7 के लिए कुछ ही दिनों में। –
वर्णित [यहां] (http://docs.python.org/2/library/logging.html#logging.Formatter)। यदि आप हैंडलर को फ़ॉर्मेटर संलग्न करना चाहते हैं, तो आपको पहले ** फॉर्मेटर = लॉगिंग के साथ एक फॉर्मेटर बनाना होगा। फॉर्मेटर (एफएमटी) **, फिर ** formatter.converter = time.gmtime **, फिर ** myHandler करें। setFormatter (formatter) ** –
@VinaySajip इसे लॉगिंग dictCigfig में कैसे सेट करें? मैं Django का उपयोग करता हूं जो लॉगिंग भाग को कॉन्फ़िगर करने के लिए logging.dictConfig का उपयोग करता है। धन्यवाद – Michael