2011-11-22 9 views
5

मैं (जहाँ लॉग प्रविष्टियों साथ रखे जाते हैं एक संयुक्त लॉग फ़ाइल जब वे ऐसा करके बनाने के लिए लॉग इन करें कि कुछ प्रक्रिया linux पर चल रहे हैं फ़ाइलों की निगरानी के लिए कोशिश कर रहा हूँ)। वर्तमान में मैं लॉग इन होने वाली फाइलें खोलने, इनोटिफ़ाई (या रैपर) के साथ मतदान करने और फिर जांच कर रहा हूं कि क्या मैं किसी भी फाइल को पढ़ सकता हूं।वहाँ लॉग फ़ाइलें नजर रखने के लिए एक बेहतर तरीका है? (Linux/अजगर) है

क्या ऐसा करने का कोई बेहतर तरीका है? शायद कुछ लाइब्रेरी जो फाइलों में पढ़ने/परिवर्तनों को सारणीबद्ध करती हैं?

+0

क्या आपने 'select()' का उपयोग करने का प्रयास किया है? – hochl

+0

संशोधन या मतदान संशोधन समय शायद आपके सबसे अच्छे दांव है। –

+0

@ होचल 'चयन' जांचता है कि फ़ाइल डिस्क्रिप्टर को पढ़ा या लिखा जा सकता है, यह जांच नहीं करता है कि वर्णनकर्ता (जो कि किसी भी वर्णनकर्ता द्वारा, अधिकतर सॉकेट्स) में "स्रोत" संशोधित किया गया है या नहीं। –

उत्तर

0

आप इसे स्वयं कर हैं, तो आप कुछ इस तरह कर सकते हैं: यदि आप फ़ाइल संशोधन का पता लगाने फ़ाइल का आकार मिलता है। यदि यह पिछली बार से बड़ा है तो आप पिछली "आखिरी" स्थिति (यानी पिछले आकार) की तलाश कर सकते हैं और वहां से पढ़ सकते हैं।

3

"tail -f" पर्याप्त क्यों नहीं होगा? आप पाइथन से इसे संभालने के लिए पॉपन और पाइप का उपयोग कर सकते हैं।

1

Generator Tricks For Systems ProgrammersPython generators उपयोग करने के लिए कैसे इस प्रकार की समस्या हल करने के लिए पता चलता है; विशेष रूप से, निगरानी (बड़ी) लॉग फाइलें। मैं इसे पढ़ने के लिए सिफारिश करते हैं।

संबंधित मुद्दे