python - How do I format logs so they print out in columns? -
मेरे पास एक प्रोजेक्ट है जहां विभिन्न धागे और फ़ंक्शन समान StreamHandler ()
लॉग इन कर रहे हैं कंसोल का उपयोग करते हुए कस्टम लॉगलवेल्स में से कुछ कस्टम हैं
मेरा लॉग करने के लिए प्रारूपित है:
streamformatter = logging.Formatter (fmt = '% (levelname) s: \ t% (threadName) s: \ t% (FuncName) s: \ t \ t% (message) s ', datefmt ='% H:% M:% S ')
यह मेरा लॉग डिफ़ॉल्ट रूप से बनाता है इस तरह विकृत जहां यह वास्तव में देखने के लिए बहुत आसान नहीं है या जब यह देखने के लिए आसान है कि किस समारोह को बुलाया जा रहा है और किस धागे से।
जानकारी: COM14-fwcif-listener: _receive_v32: my_success: 24 लाइनों को फ़ॉर्मेटर भेजना DB_TRACE: COM14-fwcif-श्रोता: _format_and_log_v32: { "शीघ्र": "undef-COM14", "x_type": "tracelogentry", "y_time": १३९२६९५५०६.०,४४,५८३, "z_msg": "...."} जानकारी: COM13- fwutil-श्रोता: _receive_v32: my_success: { "शीघ्र": "undef-COM13", "x_type": COM13-fwutil-श्रोता: _format_and_log_v32 "tracelogentry", "y_time": DB_TRACE fORMATTER करने के लिए 10 लाइनों भेजा जा रहा है १३९२६९५५०७.३,५६,७१४, "z_msg ":" .... "} जानकारी: मेनथाइट: _parse: my_resolve 4.9784979820251465 सेकंड और 29 बनाम 8 प्रयासों MY_INFO: मा InThread: _parse: सीएमडी के लिए my_success "trig" = & gt; & gt; "तैयार नही"। COM12.ISREADY अब सच जानकारी पर सेट: MainThread: भेजें: my_success लॉक जारी किया जा रहा है: & lt; _thread.RLock स्वामी = 7512 गणना = 1 & gt; साथ cmd "प्रारूप c:" और राज्य COM12.ISREADY = झूठी जानकारी: COM12-fwmain-श्रोता: _receive_v32: my_success: COM12-fwmain-श्रोता: _format_and_log_v32: S65 के आधार पर विभाजित लाइनों की संख्या 2 16 के कुल लाइनों जानकारी है my_resolve " S65 & gt; " COM12.lastlinefragment जानकारी के रूप में जोड़ा गया: COM12-fwmain-listener: _format_and_log_v32: my_success: प्रवेश करने के लिए 575 वर्ण लिखे गए हैं। शीघ्र और प्रकार का पता चला है "S65"; और "replylogentry: प्रारूप" DB_REPLY: COM12-fwmain-श्रोता: _format_and_log_v32: { "शीघ्र": "S65 & gt;", "x_type": "replylogentry: प्रारूप", "y_time": १३९२६९५५१०.४१,३०२, "z_msg": "... "} INFO: MainThread: _parse: my_resolve" format "= & gt; स्ट्रिंग में" अज्ञात कमांड "के लिए खोज" ... "
प्रत्येक टोकन की चौड़ाई निश्चित रूप से कॉलोन में लॉग आउटपुट बनाने के लिए इस तरह streamformatter
में निर्दिष्ट किया जा सकता है:
Streamformatter = logging.Formatter (fmt = '% (levelname) -10s:% (धागेनाम) -20 s:% (funcName) -20 s:% (message) s, datefmt ='% H:% M:% S ' )
Comments
Post a Comment