दस्तावेज़ विफलताओं के निवारण के लिए लॉग की आवश्यकता होती है, लेकिन पूर्ण पाठ को लॉग करने की कोई आवश्यकता नहीं है।

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

दस्तावेज़ अनुवाद विफलताओं के निवारण के लिए लॉग की आवश्यकता होती है, लेकिन लॉग में अनुबंध का पूरा पाठ, आईडी नंबर या डाउनलोड टोकन शामिल होना आवश्यक नहीं है। यह आलेख बताता है कि ग्राहक दस्तावेज़ों को लॉग में कॉपी किए बिना लॉग उत्तर "कौन सा कार्य किस चरण में और क्यों विफल हुआ" कैसे बनाया जाए।

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

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

समस्या निवारण लॉग में क्या दर्ज किया जाना चाहिए? एक वाक्य का निष्कर्ष

लॉग केवल कार्य आईडी, चरण, त्रुटि श्रेणी और समय की खपत जैसे अनुमत फ़ील्ड को रिकॉर्ड करता है, लेकिन दस्तावेज़ सामग्री और क्रेडेंशियल को रिकॉर्ड नहीं करता है।

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

उन फ़ील्ड से प्रारंभ करें जिन्हें रिकॉर्ड करने की अनुमति है

काली सूची में नए संवेदनशील फ़ील्ड आसानी से छूट सकते हैं। एक अधिक विवेकपूर्ण दृष्टिकोण केवल डिज़ाइन किए गए फ़ील्ड को आउटपुट करना है, उदाहरण के लिए:

  • आंतरिक कार्य आईडी
  • प्रसंस्करण चरण
  • त्रुटि श्रेणी
  • समय लगने वाला

नीचे दिया गया संश्लेषण उदाहरण एक श्वेतसूची प्रक्षेपण का उपयोग करता है ताकि इनपुट में पूरा पाठ और टोकन लॉग में दर्ज न हों।

सत्यापन लॉग से मूल पाठ सामने नहीं आया।

import io
import json
import logging

ALLOWED = ("job_id", "stage", "error_code", "elapsed_ms")
def log_record(data):
    return {key: data[key] for key in ALLOWED if key in data}

stream = io.StringIO()
logger = logging.getLogger("synthetic-document-job")
logger.handlers.clear()
logger.propagate = False
logger.setLevel(logging.INFO)
handler = logging.StreamHandler(stream)
logger.addHandler(handler)
event = {"job_id": "demo-12", "stage": "parse", "error_code": "BAD_CONTAINER",
         "elapsed_ms": 42, "document_text": "synthetic confidential clause",
         "access_token": "synthetic-secret"}
logger.info(json.dumps(log_record(event), sort_keys=True))
logged = json.loads(stream.getvalue())
assert logged["error_code"] == "BAD_CONTAINER"
assert "document_text" not in logged
assert "synthetic-secret" not in stream.getvalue()
assert set(logged) <= set(ALLOWED)
logger.removeHandler(handler)

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

संवेदनशील सामग्री के स्थान पर एसोसिएशन आईडी

निम्न तालिका समस्या निवारण के दौरान सामान्य आवश्यकताओं के साथ-साथ अनुशंसित और गैर-अनुशंसित रिकॉर्ड को सूचीबद्ध करती है।

समस्याओं की जांच की जानी हैअनुशंसित रिकॉर्डरिकार्ड अनुशंसित नहीं
कौन सा कार्य विफल हुआयादृच्छिक आंतरिक कार्य आईडीपूर्ण उपयोगकर्ता फ़ाइल नाम और पथ
किस चरण में समय लगता है?चरण और समय लेने वालीप्रत्येक स्रोत पाठ और अनुवाद
अपस्ट्रीम ने मना क्यों किया?सामान्यीकृत त्रुटि श्रेणियांप्रमाणीकरण शीर्षलेख के साथ पूरा अनुरोध
मूल प्रतियाँ कैसे खोजेंनियंत्रित प्रणालियों के भीतर संदर्भस्थायी रूप से सार्वजनिक डाउनलोड लिंक

अवधारण अवधि भी उतनी ही महत्वपूर्ण है जितनी पहुंच का दायरा

भले ही लॉग में कोई टेक्स्ट न हो, कार्य समय, भाषा और फ़ाइल आकार का संयोजन व्यावसायिक जानकारी प्रकट कर सकता है। लॉग के साथ पहुंच नियंत्रण, अवधारण अवधि और विलोपन प्रक्रियाएं होनी चाहिए।

समस्या निवारण करते समय, लॉग स्तर को अस्थायी रूप से बढ़ाएं और यह स्पष्ट करें कि उत्पादन वातावरण में लंबे समय तक डिबग मोड को छोड़ने से बचने के लिए कब पुनर्स्थापित करना है।

अनुवाद एकीकरण में स्पष्ट और संयमित लॉग भी हो सकते हैं

ओमनीडॉक (उत्पाद पोर्टल) से कनेक्ट करते समय, आपको केवल स्थानीय कार्यों और दूरस्थ कार्यों के बीच संबंध रिकॉर्ड करना होगा। समस्या निवारण की सुविधा के लिए उपयोगकर्ताओं द्वारा अपलोड की गई फ़ाइलों को लॉग में कॉपी नहीं किया जाना चाहिए।

एक अच्छी समस्या रिपोर्ट विफलता चरण और पुनरावृत्ति स्थितियों का वर्णन करती है, जबकि ग्राहक दस्तावेजों को केवल अधिकृत प्रसंस्करण पथों में प्रवाहित रखती है।

संदर्भ: Python logging.

📊 कोर तुलना

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

🎯कौन सा तरीका आपके लिए उपयुक्त है?

यदि आपको कोई अनुवाद कार्य ढूँढ़ना है

यादृच्छिक आंतरिक कार्य आईडी और विफलता के चरणों को लॉग करना, पूर्ण उपयोगकर्ता फ़ाइल नाम या पथ लॉग नहीं करना।

यदि आप अपस्ट्रीम इंटरफ़ेस द्वारा रिपोर्ट की गई त्रुटियों को संभालना चाहते हैं

सामान्यीकृत त्रुटि वर्गों को लॉग करना, प्रमाणीकरण हेडर के साथ पूर्ण अनुरोधों को लॉग नहीं करना।

यदि आप ऑनलाइन समस्याओं का निवारण कर रहे हैं

लॉग स्तर को अस्थायी रूप से बढ़ाएं और समस्या निवारण के तुरंत बाद इसे पुनर्स्थापित करें।

यदि आप लॉग फ़ील्ड डिज़ाइन करना चाहते हैं

श्वेतसूची को प्राथमिकता दें और फ़ील्ड मानों की लंबाई और प्रकार को सत्यापित करें।

❓ अक्सर पूछे जाने वाले प्रश्न (FAQ)

1. क्या उपयोगकर्ता का पूरा फ़ाइल नाम लॉग में दर्ज किया जा सकता है?

सिफारिश नहीं की गई। पूर्ण फ़ाइल नाम और पथ को रिकॉर्ड करने की अनुशंसा नहीं की जाती है, और इसके बजाय यादृच्छिक आंतरिक कार्य आईडी सहसंबंध का उपयोग किया जा सकता है।

2. संवेदनशील फ़ील्ड को फ़िल्टर करने के लिए ब्लैकलिस्ट का उपयोग करने की अनुशंसा क्यों नहीं की जाती है?

ब्लैकलिस्ट आसानी से नए उभरे संवेदनशील क्षेत्रों को छोड़ देती है, जबकि श्वेतसूची केवल डिज़ाइन किए गए फ़ील्ड को आउटपुट करती है, जो अधिक सुरक्षित है।

3. केवल कार्य समय और फ़ाइल आकार को प्रबंधित करने की आवश्यकता है?

ज़रूरत। इस जानकारी के संयोजन से व्यावसायिक जानकारी भी प्रकट हो सकती है, और लॉग के साथ पहुंच नियंत्रण, अवधारण अवधि और विलोपन प्रक्रियाएं शामिल होनी चाहिए।

4. क्या समस्या निवारण के समय डिबगिंग लॉग को लंबे समय तक चालू रखा जा सकता है?

सिफारिश नहीं की गई। लॉग स्तर को अस्थायी रूप से बढ़ाने के बाद, यह जानना आवश्यक है कि उत्पादन वातावरण में लंबे समय तक डिबग मोड को छोड़ने से बचने के लिए इसे कब पुनर्स्थापित किया जाए।

5. क्या बिजनेस लाइब्रेरी में ग्लोबल हैंडलर को साफ़ किया जा सकता है?

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

📝सारांश

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

इसे अभी आज़माएं: मूल लेआउट को बरकरार रखते हुए अनुवाद शुरू करने के लिए दस्तावेज़ अपलोड करें

अद्यतन 2026-11-13