2010-08-16 14 views
8

मेरे पास 3 घुमावदार रिएक्टर के तहत चल रही 3 प्रक्रियाएं हैं: ऑर्बिटेड, डब्लूएसजीआई (चल रहा django), और खुद को मुड़कर।ट्विस्ट लॉगिंग

मैं वर्तमान में

log.startLogging(sys.stdout) 

उपयोग कर रहा हूँ सब लॉग एक ही जगह के लिए निर्देशित कर रहे हैं, वहाँ बहुत अधिक बाढ़ है। WSGI से मेरी लॉग की

एक पंक्ति इस तरह है:

2010-08-16 02:21:12-0500 [-] 127.0.0.1 - - [16/Aug/2010:07:21:11 +0000] "GET /statics/js/monitor_rooms.js HTTP/1.1" 304 - "http://localhost:11111/chat/monitor_rooms" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100723 Ubuntu/10.04 (lucid) Firefox/3.6.8" 

समय दो बार मूल रूप से दोहराया है। मुझे लगता है कि मैं अपने ही फ़ॉर्मेटर का उपयोग करना चाहिए लेकिन दुर्भाग्य से मैं इसे मुड़ के डॉक्स में नहीं मिल सकता है (वहाँ प्रवेश करने पर कुछ भी नहीं है)

  1. 3 स्रोतों से प्रवेश से निपटने के लिए सबसे अच्छा तरीका क्या है?
  2. मैं अपने स्वयं के फॉर्मेटर को सेट करने के लिए twisted.log में कौन से फ़ंक्शन में पास करता हूं (स्टार्ट लॉजिंग में जवाब नहीं होता है)
  3. मैंने जो सुझाव दिया है उससे बेहतर समाधान क्या है? (मुझे लॉगर्स स्थापित करने में वास्तव में अनुभव नहीं हुआ है।)

उत्तर

1

हे। मैं वास्तव में इस समस्या के बारे में सोच रहा हूँ। जो मैं आया हूं वह एक अलग ट्विस्ट ऐप है जो संदेश को लॉग करता है जो इसे सॉकेट पर प्राप्त करता है। आप सॉकेट को भेजने के लिए पाइथन लॉगिंग को कॉन्फ़िगर कर सकते हैं और आप पाइथन लॉगिंग को भेजने के लिए ट्विस्ट किए गए लॉगिंग को कॉन्फ़िगर कर सकते हैं। तो आप लॉगिंग संदेशों को एक ही प्रक्रिया में भेजने के लिए सबकुछ प्राप्त कर सकते हैं (जो तब डिस्क पर लॉग इन करने के लिए पायथन के लॉगिंग का उपयोग करता है)।

मैं http://www.acooke.org/cute/APythonLog0.html

पर अवधारणा कोड के कुछ प्रारंभिक सबूत मुख्य बात याद आ रही है कि यह इंगित करने के लिए जो संदेश जो स्रोत से आए थे अच्छा होगा है। सुनिश्चित नहीं है कि अभी तक इसे कैसे जोड़ना है (एक दृष्टिकोण तीन अलग-अलग बंदरगाहों पर सेवा चलाने के लिए होगा और प्रत्येक के लिए एक अलग उपसर्ग होगा)।

पीएस ऑर्बिटेड काम कैसे कर रहा है? यह मेरी सूची में अगला है ...

11

संदेश को कस्टमाइज़ करने के लिए आप कीवर्ड तर्क twisted.python.log.msg पर उपयोग कर सकते हैं।

मान लें आप मिल गया है: इस तरह

log.msg("Service ready for eBusiness!", system="enterprise") 

आप प्रवेश करने कर देंगे उत्पादन:

2010-08-16 02:21:12-0500 [enterprise] Service ready for eBusiness! 

इसके बाद आप अपनी सेवाओं के प्रत्येक हो सकता था उनके log.msg और log.err कॉल करने के लिए system="wsgi/orbited/..." जोड़ें।

पिछली बार जब मैं ट्विस्ट के साथ काम कर रहा था, तो मुझे स्रोत के माध्यम से this खोद गया।

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