यह उत्तर स्केलेबिलिटी विचार के बारे में अधिक है - यदि श्रमिकों की संख्या अधिक हो सकती है और / या उनमें से कई एक ही समय में उच्च दर पर लॉग का उत्पादन कर सकते हैं।
हां, एक साथ कई लॉगफाइल्स का उपयोग करना एक अच्छा अभ्यास है।
वास्तविक समय में कई श्रमिकों से एक एकल लॉगफ़ाइल लॉग में संयोजन करने का प्रयास करने से समस्याएं बढ़ेंगी:
- संदेश हानि को रोकने के लिए अवरुद्ध यंत्रों का उपयोग श्रमिकों को धीमा कर देगा
- लॉग संदेश संयुक्त लॉगफाइल में आउट-ऑफ-ऑर्डर दिखाई दे सकते हैं
- एक केंद्रीकृत लॉगिंग सुविधा जो लॉग को जोड़ती है सीमित लेखन गति के कारण अतिभारित हो सकती है, संदेश खो जाएंगे
साझाकरण लॉगफ़ाइल्स (एक ही समय में सक्रिय कई लॉगफ़ाइल्स का उपयोग करके) स्वयं एक तकनीक है जिसका उपयोग कुछ होस्टिंग प्रदाताओं द्वारा उच्च प्रदर्शन, स्केलेबल केंद्रीकृत लॉगिंग सेवाओं की पेशकश के लिए किया जाता है। उदाहरण के लिए, जब Google के स्टैकड्राइवर लॉगिंग फ़ाइलों में लॉग निर्यात करता है तो कई शार्प किए गए लॉगफाइल्स का निर्माण होता है। Google क्लाउड संग्रहण में लॉग प्रविष्टियों से :
जब आप लॉग को क्लाउड स्टोरेज बाल्टी में निर्यात करते हैं , तो स्टैकड्राइवर लॉगिंग बाल्टी में फ़ाइलों का एक सेट लिखता है। फ़ाइलों को लॉग प्रकार और दिनांक द्वारा निर्देशिका पदानुक्रम में व्यवस्थित किया जाता है। लॉग प्रकार एक साधारण नाम की तरह syslog
या एक यौगिक नाम की तरह हो सकता है
appengine.googleapis.com/request_log
। यदि ये लॉग नाम की बाल्टी में संग्रहीत किए गए थे my-gcs-bucket
, तो निर्देशिकाओं का नाम निम्न उदाहरण में दिया जाएगा:
my-gcs-bucket/syslog/YYYY/MM/DD/
my-gcs-bucket/appengine.googleapis.com/request_log/YYYY/MM/DD/
एक एकल बाल्टी में कई लॉग प्रकार के लॉग हो सकते हैं।
पत्ती निर्देशिका ( DD/
) में कई फाइलें होती हैं, जिनमें से प्रत्येक फ़ाइल नाम में निर्दिष्ट समयावधि के लिए निर्यात की गई लॉग प्रविष्टियों को रखती है। फ़ाइलों को शार्प किया जाता है और उनका नाम एक शार्प नंबर Sn
या An
(n = 0, 1, 2, ...) में समाप्त हो जाता है
। उदाहरण के लिए, यहां दो फाइलें हैं जिन्हें निम्नलिखित में संग्रहीत किया जा सकता है directory
my-gcs-bucket/syslog/2015/01/13/
:
08:00:00_08:59:59_S0.json
08:00:00_08:59:59_S1.json
इन दो फ़ाइलों को एक साथ syslog
0800 UTC शुरुआत घंटे के दौरान सभी उदाहरणों के लिए लॉग प्रविष्टियाँ होती हैं । सभी लॉग प्रविष्टियों को प्राप्त करने के लिए, आपको प्रत्येक समय अवधि के लिए सभी शार्क को पढ़ना होगा - इस मामले में, फ़ाइल शार्क 0 और 1. फ़ाइल प्रविष्टियों की संख्या लॉग प्रविष्टियों की मात्रा के आधार पर हर समय अवधि के लिए बदल सकती है।
इस तरह की उच्च-प्रदर्शन लॉगिंग सेवाएं फ़ाइलों को लॉगिंग करने के लिए विकल्प भी प्रदान कर सकती हैं, लॉगफ़ाइल्स का प्रबंधन इस प्रकार पूरी तरह से बचा जा सकता है, यदि वह रुचि का हो:
अंत में - यदि वास्तविक समय लॉगफ़ाइल विलय की आवश्यकता नहीं है, तो कई लॉगफ़ाइल्स ऑफ़लाइन लॉग प्रबंधन में मदद कर सकते हैं:
- प्रगतिशील लॉग बैकअप, संपीड़न, संग्रह और अंतिम निपटान योजनाओं को तैयार करना आसान है
- बाधाओं (लॉगफ़ाइल्स) के कई सेटों का समानांतर प्रसंस्करण संभव है, टोंटी प्रभाव को कम / कम करना
- कोई फ़ाइल विभाजन और फिर से लिखना आवश्यक नहीं है