मैं अजगर लॉगिंग उपयोग कर रहा हूँ और मैं एक फ़ॉर्मेटर कि ऐसा दिखाई देता है:पायथन लॉगिंग - मैं पथनाम को केवल अंतिम कुछ वर्णों या केवल फ़ाइल नाम में कैसे छोटा कर सकता हूं?
formatter = logging.Formatter(
'%(asctime)s - %(pathname)86s - %(lineno)4s - %(message)s', '%d %H:%M'
)
आप देख सकते हैं, मैं अपने लॉग फ़ाइलों में जानकारी कॉलम में बड़े करीने से पंक्तिबद्ध करने के लिए पसंद करते हैं। मेरे पास पथनाम के लिए आरक्षित 86 रिक्त स्थान हैं क्योंकि मेरे प्रोग्राम में उपयोग की जाने वाली कुछ फ़ाइलों के पूर्ण पथ लंबे हैं। हालांकि, मुझे वास्तव में वास्तविक फ़ाइल नाम की आवश्यकता है, पूर्ण पथ नहीं। मैं सिर्फ फाइल नाम देने के लिए लॉगिंग मॉड्यूल कैसे प्राप्त कर सकता हूं? अभी तक बेहतर है, क्योंकि मेरे पास कुछ लंबे फ़ाइल नाम हैं, इसलिए मुझे फ़ाइल नाम के पहले 3 वर्ण, '~', फिर अंतिम 16 वर्णों के बाद चाहिए। तो
/Users/Jon/important_dir/dev/my_project/latest/testing-tools/test_read_only_scenarios_happily.py
हो जाना चाहिए
tes~arios_happily.py
मैं अपने सुझाव संपादित देखा; खुशी है कि आपने इसे काम किया। 'record.args' या तो एक dict या tuple है, लेकिन आपके फ़ॉर्मेटर ने सुझाव दिया है कि आप विशेष रूप से एक dict का उपयोग कर रहे थे, इसलिए मैंने इसके आधार पर अपना समाधान बनाया। जैसा कि आपने पाया, एक टुपल को भी अनुकूलित करना काफी आसान है। :-) –