उपयोगकर्ता के काम से शुरू करें

उपयोगी लॉग न्यूनतम व्यावहारिक जानकारी से घटना समझाता है। संचालक का सवाल लें: कौन-सी कार्रवाई, किस चरण और संस्करण में, किस निर्भरता परिणाम से विफल हुई? पूरी अनुरोध बॉडी बचाना ग्राहक डेटा की अनियंत्रित प्रति बना सकता है।

दायरा उपयोगी रखें

संरचित घटना नाम, समय, अनुरोध पहचान और गैरसंवेदनशील परिणाम कोड रखें। ग्राहक का विवरण अधिकृत व्यवसाय प्रणाली में रहे। OWASP संवेदनशील डेटा हटाने और लॉग पहुँच की रक्षा बताता है। आपात स्थिति से पहले अवधि, अनुमति और छँटाई के नियम बनाएँ।

अभ्यास का एक मामला

मानें एकीकरण ग्राहक अपडेट अस्वीकार करता है। लॉग में एकीकरण नाम, कार्रवाई पहचान, प्रयास और त्रुटि वर्ग रखें। संचालक अधिकृत रिकॉर्ड अलग खोल सकता है। प्रदाता की त्रुटि में ईमेल या टोकन हो तो उसे भी साफ करें; अपने फ़ील्ड साफ करने से बाहरी संदेश साफ नहीं होता। केवल फ़ंक्शन इनपुट नहीं, वास्तविक सहेजा लॉग जाँचें।

समस्या आगे न बढ़ाएँ

गुप्त जानकारी ऐसे URL में न रखें जिन्हें प्रॉक्सी या एनालिटिक्स दर्ज कर सकते हैं। हैश पहचान अपने आप अनाम नहीं है। debug चुपचाप उत्पादन संग्रह न बढ़ाए। जरूरत अलग हो तो सुरक्षा ऑडिट और सामान्य निदान अलग रखें। वैकल्पिक त्रुटि संदेश में भी संवेदनशील मान न निकलें।

घटना से पहले लॉग इवेंट बनाएँ

असफल अपडेट के लिए नाम, समय, ऑपरेशन पहचान, संस्करण, प्रयास और सीमित परिणाम वर्ग तय करें। जरूरी संबंध और सुविधा वाले फ़ील्ड अलग हों। मनमाने ऑब्जेक्ट को लिखने के बजाय अनुमत फ़ील्ड स्पष्ट करें; ऑब्जेक्ट में बाद में निजी डेटा बढ़ सकता है। ग्राहक संदेश सामान्य हो तब भी घटना उपयोगी रह सकती है।

लॉग भंडार का पूरा रास्ता देखें। प्रॉक्सी, middleware, त्रुटि ट्रैकर, worker और लाइब्रेरी भी लिखते हैं। URL, हेडर, exception और भीतर के प्रदाता उत्तर जाँचें। ईमेल, टोकन व संदेश जैसे काल्पनिक चिह्न डालें और हर गंतव्य में खोजें। सफाई का यूनिट टेस्ट यह नहीं साबित करता कि अन्य घटक पहले मूल नहीं लिख चुका।

पहुँच व मिटाना संचालन काम बनाएँ। खोज, निर्यात और अवधि बदलने वाले तय करें; अस्थायी निदान अपने आप खत्म हो। मूल रिकॉर्ड चाहिए तो व्यवसाय प्रणाली की अनुमति लें, सबके लिए लॉग विस्तार नहीं। निर्यात व कॉपी घटना नोट भी हटाने में सोचें। साफ करने के बाद उपयोगिता देखें। बहुत सामान्य त्रुटि हो तो सुरक्षित संरचित संदर्भ जोड़ें, पूरा निजी पेलोड वापस नहीं। साफ घटना उदाहरण भविष्य में भी जाँचें।

लॉग समीक्षा तालिका

जाँचदेखने वाला प्रमाण
प्रदाता त्रुटि में टोकनऐप और बाद के आउटपुट उसे हटाएँ, उपयोगी वर्ग बचाएँ।
URL में संवेदनशील डेटाप्रॉक्सी या middleware भी न लीक करें, केवल अपने फ़ील्ड साफ होना पर्याप्त नहीं।
अस्थायी debug खत्मकिसी की याद पर निर्भर सफाई बिना सामान्य संग्रह लौटे।
अधिकृत निदान को संदर्भ चाहिएमौजूदा अनुमति से व्यवसाय रिकॉर्ड जुड़े, ग्राहकों का पूरा डेटा न दिया जाए।

परिणाम कैसे परखें

हर फ़ील्ड कौन-सा सवाल हल करता है? लॉग कौन पढ़ या निर्यात कर सकता है? प्रतियाँ कब मिटेंगी? समीक्षा में साफ किए उदाहरण लाएँ और ग्राहक का पूरा संदेश लिए बिना असली विफलता की जाँच दिखाएँ।

स्रोत और आगे पढ़ें

  1. OWASP — Logging cheat sheet
सेवाएँ

सॉफ़्टवेयर सुधार और देखभाल

मौजूदा सॉफ़्टवेयर के लिए सोच-समझकर अगला कदम।

इस सेवा पर बात करें