2012-01-16 9 views
8

बदले में अस्पष्ट और अस्पष्ट दस्तावेज और शुरुआती लोगों के लिए प्रभावी कैसे है, मैं पीएसजीआई की तरह बढ़ गया हूं और वर्तमान में इसे अपने अनुप्रयोगों में से एक में उपयोग कर रहा हूं। मैं क्या जानना चाहता हूं कि मैं बहु-नोड एप्लिकेशन में लॉगिंग कैसे प्रबंधित करूं? पीएसजीआई में लॉगिंग के संबंध में "सर्वश्रेष्ठ अभ्यास" क्या माना जाता है?पीएसजीआई लॉगिंग (पर्ल)

+6

[प्लेक :: मिडलवेयर :: एक्सेसलॉग] (http://p3rl.org/Plack::Middleware::AccessLog) –

+0

क्या आप केवल लॉग एक्सेस, या सामान्य रूप से लॉग इन करने के बारे में बात कर रहे हैं? –

उत्तर

5

मैं लॉगिंग के लिए Plack::Middleware::AccessLog का उपयोग करने और कस्टम लॉगिंग के लिए Plack::Middleware::LogDispatch का उपयोग करने की सलाह देता हूं। वे बदले में लोकप्रिय Log::Dispatch मॉड्यूल का उपयोग करते हैं।

लॉगडिस्पाच मिडलवेयर दस्तावेज़ वर्तमान में आपको सेट होने के बाद लॉगिंग ऑब्जेक्ट का उपयोग करने के तरीके के बारे में नहीं दिखाते हैं।

my $app = sub { 
    my $env = shift; 
    $env->{'psgix.logger'}->({ level => "debug", message => "This is debug" }); 
    return [ 200, [], [] ]; 
}; 

बहु नोड शंकाओं का समाधान करने के लिए, आप तो इस्तेमाल कर सकते हैं Log::Dispatch::Syslog जो rsyslog करने के लिए लॉगिंग भेज बारी में एक और rsyslog सर्वर से पर लॉग डेटा पारित करने के लिए कर सकता है जो होगा: यहाँ एक उदाहरण है। इस तरह, सभी नोड्स एक केंद्रीय लॉगिंग सर्वर पर लॉग कर सकते हैं।

लॉग :: डिस्पैच की लचीलापन के साथ, आपके पास को स्थानीय रूप से और दूरस्थ रूप से रिडंडेंसी के लिए लॉग इन करने का विकल्प भी है। पर भेजे गए लॉग को प्राथमिक सर्वर प्राथमिक माना जा सकता है, और लॉगिंग स्थानीय लॉग सर्वर को थोड़ी देर के लिए स्थानीय रूप से बैकअप माना जा सकता है।

एक केंद्रीय लॉग सर्वर का उपयोग करते हुए कई फायदे हैं:

  1. आप कर सकते हैं 'ग्रेप' अपने एक ही स्थान पर संपूर्ण समूह भर में लॉग।
  2. लॉग रोटेशन और विश्लेषण लॉग फ़ाइलों के एक सेट के साथ आसान है।
  3. आप अपने क्लस्टर को ऊपर और नीचे स्केल करने के लिए बेहतर तरीके से तैयार हैं, क्योंकि आप लॉगिंग खोने के बारे में चिंता किए बिना नोड बंद कर सकते हैं, या सर्वर को बस इतना ही रातोंरात क्रॉन जॉब लॉग को संसाधित करने के लिए आग लग सकते हैं।

मैं वर्तमान में लॉग-डिस्पैच और रुस्लॉग का उपयोग करके एक बहु-नोड क्लस्टर को प्रबंधित करने के लिए इस तरह से उपयोग करता हूं।

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