मैं लगातार कुछ सर्वर स्क्रिप्ट (विभिन्न बंदरगाहों पर) निरंतर उपयोग करके नोडज के साथ चल रहा हूं।हमेशा के लिए चल रहे node.js स्क्रिप्ट में लॉगिंग अक्षम करें
इनमें से कुछ सर्वरों पर यातायात की काफी मात्रा है। console.log आदेश मेरे पास कनेक्शन विसंगतियों को ट्रैक करने के लिए है, जिसके परिणामस्वरूप ब्लॉटेड लॉग फाइलें हैं जिन्हें मुझे हर समय की आवश्यकता नहीं है - केवल डीबगिंग के लिए। मैं रात में देर से लिपियों को मैन्युअल रूप से रोक रहा हूं, फ़ाइलों को छोटा कर रहा हूं, और उन्हें पुनरारंभ कर रहा हूं। यह लंबी अवधि के लिए नहीं करेगा, इसलिए हमने समाधान खोजने का फैसला किया।
मेरे सिस्टम पर किसी और ने मेरे ज्ञान के बिना प्रत्येक सर्वर के लिए सेट की गई लॉग फ़ाइलों को हटा दिया। कमांड लाइन पर कॉलिंग को कॉल करने से पता चलता है कि सर्वर स्क्रिप्ट अभी भी चल रही हैं लेकिन अब मैं लॉग फाइलों को पूंछ नहीं कर सकता यह देखने के लिए कि नोड्स कैसे कर रहे हैं।
नोड डाउनटाइम को न्यूनतम से कम रखा जाना चाहिए, इसलिए कुछ मिनटों से अधिक समय तक सर्वर को रोकने के लिए मुझे संकोच नहीं है। क्लाइंट साइड से शुरुआती परीक्षण यह इंगित करता है कि स्क्रिप्ट ठीक काम कर रही हैं, लेकिन मैं 100% सुनिश्चित नहीं कर सकता कि किसी भी त्रुटि फ़ाइल पर लॉग इन करने में विफल प्रयासों के कारण कोई त्रुटि नहीं है।
मैं कुछ सवाल वास्तव में है:
- इसे हमेशा के लिए इस तरह चालू रखने के लिए ठीक है?
- यदि नहीं, तो क्या उचित लॉगिंग अक्षम करने का तरीका है? github repository इंगित करता है कि हमेशा के लिए एक डिफ़ॉल्ट फ़ाइल पर लॉग इन होगा, जो मैं नहीं चाहता। अन्यथा मैं सिर्फ एक cronjob लिख सकता हूं जो समय-समय पर स्क्रिप्ट रोकता है, लॉग छंटनी करता है, फिर स्क्रिप्ट को पुनरारंभ करता है।
- क्या होता है यदि मैं सिर्फ जैसे कुछ लॉगफाइल बना देता हूं, तो logfile_name.log स्पर्श करें जबकि स्क्रिप्ट अभी भी चल रही है - क्या यह हमेशा के लिए सनकी हो जाएगी या यह एक व्यावहारिक समाधान है?
आपके समय के लिए धन्यवाद।
+1। – verybadalloc
क्या आपने कुछ लॉगिंग सिस्टम की तरह कुछ लागू करने पर विचार किया है? सीधे console.log को कॉल करने के बजाय, एक रैपर फ़ंक्शन (या एक लाइब्रेरी का उपयोग करें) लिखें जो आपको न केवल एक संदेश, बल्कि एक लॉगिंग स्तर असाइन करने की अनुमति देता है, और उसके बाद आपके कॉन्फ़िगरेशन के आधार पर, केवल आउटपुट लॉग जो कि हैं कुछ महत्व या अधिक। मैं कहूंगा कि लॉगिंग अक्षम करने का "उचित" तरीका है। –
@ ब्रेट मैं अब उस कंपनी में काम नहीं करता हूं, लेकिन यही वह है जो मैंने लॉगिंग के विभिन्न स्तरों को बनाते हुए किया। इसने फ़ाइलों को इतना छोटा रखा कि स्क्रिप्ट को पुनरारंभ करने से पहले लॉग को साफ़ करने के लिए शायद ही कभी रोकना पड़ा। – Cubis