డాక్యుమెంట్ వైఫల్యాలను పరిష్కరించడానికి లాగ్లు అవసరం, కానీ పూర్తి వచనాన్ని లాగ్ చేయవలసిన అవసరం లేదు.
అనువాద వైఫల్యాలను గుర్తించడానికి లాగ్లు అవసరం, అయితే మొత్తం ఒప్పందం, ID నంబర్ లేదా డౌన్లోడ్ టోకెన్ను ప్రింట్ చేయాల్సిన అవసరం లేదు. అనుమతి నిర్వహణ లేని రెండవ డాక్యుమెంట్ లైబ్రరీగా కాకుండా "ఏ పని, ఏ దశలో మరియు ఎందుకు విఫలమైంది" అని లాగ్ సమాధానం ఇవ్వాలి.
డాక్యుమెంట్ అనువాద వైఫల్యాలను పరిష్కరించడానికి లాగ్లు అవసరం, కానీ లాగ్లు ఒప్పందం యొక్క పూర్తి వచనం, ID నంబర్ లేదా డౌన్లోడ్ టోకెన్ను కలిగి ఉండవలసిన అవసరం లేదు. కస్టమర్ పత్రాలను లాగ్లోకి కాపీ చేయకుండా "ఏ పని ఏ దశలో విఫలమైంది మరియు ఎందుకు" అనే లాగ్ సమాధానాన్ని ఎలా తయారు చేయాలో ఈ కథనం వివరిస్తుంది.
డాక్యుమెంట్ అనువాద సేవలు, డాకింగ్ అనువాద ఇంటర్ఫేస్లు లేదా బ్యాక్గ్రౌండ్ లాగ్లను నిర్వహించడం వంటి వాటికి బాధ్యత వహించే డెవలపర్లు మరియు ఆపరేషన్ మరియు మెయింటెనెన్స్ సిబ్బంది తగిన రీడర్లు. చదివిన తర్వాత, మీరు వైట్లిస్ట్ ఫీల్డ్ల సెట్ని డిజైన్ చేయవచ్చు, లాగ్ అసలు వచనాన్ని తీసుకురాలేదని ధృవీకరించవచ్చు మరియు ట్రబుల్షూటింగ్ కోసం నిలుపుదల వ్యవధి మరియు యాక్సెస్ స్కోప్ను సెట్ చేయవచ్చు.
ఉదాహరణలు ప్రాసెసింగ్ పద్ధతులను ప్రదర్శించడానికి సింథటిక్ నమూనాలను ఉపయోగిస్తాయి మరియు కోడ్ వివిక్త వాతావరణంలో తనిఖీ చేయబడింది, అయితే ఇది అన్ని నిజమైన ఫైల్లు లేదా ఉత్పత్తి పనితీరు యొక్క హామీని సూచించదు. ముఖ్యమైన డాక్యుమెంట్లను ప్రాసెస్ చేసే ముందు, దయచేసి ఒరిజినల్లను ఉంచండి మరియు దిగువ సరిహద్దులు మరియు అంగీకార అంశాల ప్రకారం వాటిని సమీక్షించండి.
ట్రబుల్షూటింగ్ లాగ్లో ఏమి రికార్డ్ చేయాలి? ఒక వాక్యం ముగింపు
లాగ్ టాస్క్ ID, స్టేజ్, ఎర్రర్ కేటగిరీ మరియు సమయ వినియోగం వంటి అనుమతించబడిన ఫీల్డ్లను మాత్రమే రికార్డ్ చేస్తుంది, కానీ డాక్యుమెంట్ కంటెంట్ మరియు ఆధారాలను రికార్డ్ చేయదు.
| మీ పరిస్థితి | సిఫార్సు చేసిన పద్ధతులు | కారణం |
|---|---|---|
| ఏ పని విఫలమైందో తెలుసుకోవాలి | యాదృచ్ఛిక అంతర్గత టాస్క్ IDని లాగ్ చేస్తోంది | వినియోగదారు ఫైల్ పేర్లు లేదా మార్గాలను బహిర్గతం చేయకుండా సమస్యలను గుర్తించగల సామర్థ్యం |
| కార్డు ఏ దశలో ఉందో గుర్తించాలి | వేదిక పేరు మరియు తీసుకున్న సమయాన్ని రికార్డ్ చేయండి | ప్రతి మూల వచనం మరియు అనువాదం అవసరం లేదు |
| అభ్యర్థన అప్స్ట్రీమ్ ద్వారా తిరస్కరించబడింది | సాధారణీకరించిన దోష వర్గాలను లాగ్ చేయండి | ప్రామాణీకరణ ఫస్ట్-క్లాస్ పూర్తి అభ్యర్థన కంటెంట్ లాగ్లో నమోదు చేయకూడదు |
| ట్రబుల్షూటింగ్ కోసం అసలు స్థితికి తిరిగి వెళ్లాలి | నియంత్రిత వ్యవస్థలో సూచనలను ఉపయోగించడం | శాశ్వతంగా పబ్లిక్గా డౌన్లోడ్ చేయగల లింక్లు లీక్ అయ్యే ప్రమాదం ఉంది |
రికార్డ్ చేయడానికి అనుమతించబడిన ఫీల్డ్లతో ప్రారంభించండి
బ్లాక్లిస్ట్ కొత్త సున్నితమైన ఫీల్డ్లను సులభంగా కోల్పోవచ్చు. రూపొందించిన ఫీల్డ్లను మాత్రమే అవుట్పుట్ చేయడం మరింత వివేకవంతమైన విధానం, ఉదాహరణకు:
- అంతర్గత పని ID
- ప్రాసెసింగ్ దశ
- లోపం వర్గం
- సమయం తీసుకుంటుంది
దిగువ సంశ్లేషణ ఉదాహరణ వైట్లిస్ట్ ప్రొజెక్షన్ని ఉపయోగిస్తుంది, తద్వారా ఇన్పుట్లోని పూర్తి టెక్స్ట్ మరియు టోకెన్లు లాగ్లోకి నమోదు చేయబడవు.
ధృవీకరణ లాగ్ అసలు వచనాన్ని తీసుకురాలేదు.
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లో వినియోగదారు పూర్తి వచనాన్ని నింపినట్లయితే, వైట్లిస్ట్ పేరు మాత్రమే మిమ్మల్ని సేవ్ చేయదు.
సున్నితమైన కంటెంట్ స్థానంలో అసోసియేషన్ ID
కింది పట్టిక ట్రబుల్షూటింగ్ సమయంలో సాధారణ అవసరాలు, అలాగే సిఫార్సు చేయబడిన మరియు సిఫార్సు చేయని రికార్డులను జాబితా చేస్తుంది.
| విచారణ చేయాల్సిన సమస్యలు | సిఫార్సు చేసిన రికార్డులు | రికార్డ్ సిఫార్సు చేయబడలేదు |
|---|---|---|
| ఏ పని విఫలమైంది | యాదృచ్ఛిక అంతర్గత టాస్క్ ID | పూర్తి వినియోగదారు ఫైల్ పేరు మరియు మార్గం |
| ఏ దశకు సమయం పడుతుంది? | దశలు మరియు సమయం తీసుకుంటుంది | ప్రతి మూల వచనం మరియు అనువాదం |
| అప్స్ట్రీమ్ ఎందుకు నిరాకరించింది? | సాధారణీకరించిన లోపం వర్గాలు | ప్రామాణీకరణ శీర్షికతో అభ్యర్థనను పూర్తి చేయండి |
| అసలైన వాటిని ఎలా కనుగొనాలి | నియంత్రిత వ్యవస్థలలో సూచనలు | శాశ్వతంగా పబ్లిక్ డౌన్లోడ్ లింక్ |
నిలుపుదల కాలం యాక్సెస్ స్కోప్తో సమానంగా ముఖ్యమైనది
లాగ్లో వచనం లేకపోయినా, పని సమయం, భాష మరియు ఫైల్ పరిమాణం కలయిక వ్యాపార సమాచారాన్ని బహిర్గతం చేయవచ్చు. లాగ్లు యాక్సెస్ నియంత్రణలు, నిలుపుదల కాలాలు మరియు తొలగింపు విధానాలతో పాటు ఉండాలి.
ట్రబుల్షూటింగ్ చేసినప్పుడు, తాత్కాలికంగా లాగ్ స్థాయిని పెంచండి మరియు ఎక్కువ కాలం ఉత్పత్తి వాతావరణంలో డీబగ్ మోడ్ను వదిలివేయకుండా ఉండటానికి ఎప్పుడు పునరుద్ధరించాలో స్పష్టం చేయండి.
అనువాద ఏకీకరణ స్పష్టమైన మరియు నియంత్రిత లాగ్లను కూడా కలిగి ఉంటుంది
OmniDoc (ఉత్పత్తి పోర్టల్)కి కనెక్ట్ చేస్తున్నప్పుడు, మీరు స్థానిక పనులు మరియు రిమోట్ పనుల మధ్య అనుబంధాన్ని మాత్రమే రికార్డ్ చేయాలి. ట్రబుల్షూటింగ్ సౌలభ్యం కోసం వినియోగదారులు అప్లోడ్ చేసిన ఫైల్లను లాగ్లోకి కాపీ చేయకూడదు.
ఒక మంచి సమస్య నివేదిక వైఫల్య దశ మరియు పునరావృత పరిస్థితులను వివరిస్తుంది, అయితే కస్టమర్ డాక్యుమెంట్లను అధీకృత ప్రాసెసింగ్ మార్గాల్లో మాత్రమే ప్రవహిస్తుంది.
సూచనలు: Python logging.
📊 కోర్ పోలిక
| మార్గం | ప్రయోజనం | ప్రమాదం |
|---|---|---|
| బ్లాక్ లిస్ట్ | వ్రాసే పద్ధతి సూటిగా మరియు ఉపయోగించడానికి సులభమైనది. | కొత్త సున్నితమైన ఫీల్డ్లను కోల్పోవడం సులభం |
| వైట్లిస్ట్ | స్పష్టమైన సరిహద్దులతో రూపొందించబడిన ఫీల్డ్లను మాత్రమే అవుట్పుట్ చేయండి | ఫీల్డ్లను ముందుగానే ప్లాన్ చేయాలి మరియు ఫీల్డ్ విలువల పొడవు మరియు రకాన్ని ధృవీకరించాలి |
🎯 మీకు ఏ పద్ధతి అనుకూలంగా ఉంటుంది?
మీరు అనువాద పనిని గుర్తించాల్సిన అవసరం ఉంటే
యాదృచ్ఛిక అంతర్గత టాస్క్ IDలను లాగిన్ చేయడం మరియు వైఫల్యం యొక్క దశలు, పూర్తి వినియోగదారు ఫైల్ పేర్లు లేదా మార్గాలను లాగిన్ చేయడం కాదు.
మీరు అప్స్ట్రీమ్ ఇంటర్ఫేస్ ద్వారా నివేదించబడిన లోపాలను నిర్వహించాలనుకుంటే
సాధారణీకరించిన ఎర్రర్ తరగతులను లాగిన్ చేయడం, ప్రామాణీకరణ హెడర్లతో పూర్తి అభ్యర్థనలను లాగిన్ చేయడం లేదు.
మీరు ఆన్లైన్ సమస్యలను పరిష్కరిస్తున్నట్లయితే
లాగ్ స్థాయిని తాత్కాలికంగా పెంచండి మరియు ట్రబుల్షూటింగ్ తర్వాత వెంటనే దాన్ని పునరుద్ధరించండి.
మీరు లాగ్ ఫీల్డ్లను డిజైన్ చేయాలనుకుంటే
వైట్లిస్టింగ్కు ప్రాధాన్యత ఇవ్వండి మరియు ఫీల్డ్ విలువల పొడవు మరియు రకాన్ని ధృవీకరించండి.
❓ తరచుగా అడిగే ప్రశ్నలు (FAQ)
1. వినియోగదారు యొక్క పూర్తి ఫైల్ పేరు లాగ్లో రికార్డ్ చేయబడుతుందా?
సిఫార్సు చేయబడలేదు. పూర్తి ఫైల్ పేరు మరియు మార్గం రికార్డ్ చేయడానికి సిఫార్సు చేయబడలేదు మరియు బదులుగా యాదృచ్ఛిక అంతర్గత టాస్క్ ID సహసంబంధాన్ని ఉపయోగించవచ్చు.
2. సున్నితమైన ఫీల్డ్లను ఫిల్టర్ చేయడానికి బ్లాక్లిస్ట్ని ఉపయోగించమని ఎందుకు సిఫార్సు చేయబడలేదు?
బ్లాక్లిస్ట్ కొత్తగా ఉద్భవించిన సెన్సిటివ్ ఫీల్డ్లను సులభంగా కోల్పోతుంది, అయితే వైట్లిస్ట్ డిజైన్ చేసిన ఫీల్డ్లను మాత్రమే అవుట్పుట్ చేస్తుంది, ఇది మరింత సురక్షితమైనది.
3. పని సమయం మరియు ఫైల్ పరిమాణాన్ని మాత్రమే నిర్వహించాలా?
అవసరం. ఈ సమాచారం యొక్క కలయిక వ్యాపార సమాచారాన్ని కూడా బహిర్గతం చేయవచ్చు మరియు లాగ్లు యాక్సెస్ నియంత్రణలు, నిలుపుదల కాలాలు మరియు తొలగింపు విధానాలతో పాటు ఉండాలి.
4. ట్రబుల్షూట్ చేస్తున్నప్పుడు డీబగ్గింగ్ లాగ్లను చాలా కాలం పాటు ఆన్ చేయవచ్చా?
సిఫార్సు చేయబడలేదు. లాగ్ స్థాయిని తాత్కాలికంగా పెంచిన తర్వాత, చాలా కాలం పాటు ఉత్పత్తి వాతావరణంలో డీబగ్ మోడ్ను వదిలివేయకుండా ఉండటానికి దాన్ని ఎప్పుడు పునరుద్ధరించాలో తెలుసుకోవడం అవసరం.
5. వ్యాపార లైబ్రరీలో గ్లోబల్ హ్యాండ్లర్ను క్లియర్ చేయవచ్చా?
సిఫార్సు చేయబడలేదు. ఉదాహరణ స్వీయ-పేరు గల డెమో లాగర్ను మాత్రమే సవరించింది మరియు వ్యాపార లైబ్రరీలో అప్లికేషన్ గ్లోబల్ హ్యాండ్లర్ని క్లియర్ చేయకూడదు.
📝 సారాంశం
అనువాద వైఫల్యాలను పరిష్కరించేటప్పుడు, లాగ్లు డాక్యుమెంట్ కంటెంట్ను సేవ్ చేయడం కంటే టాస్క్లు, దశలు మరియు కారణాలకు సమాధానం ఇవ్వాలి. ట్రబుల్షూటింగ్ సామర్థ్యం మరియు డాక్యుమెంట్ భద్రతను సమతుల్యం చేయడానికి వైట్లిస్ట్ ఫీల్డ్లు, నియంత్రిత సూచనలు మరియు క్లియర్ రిటెన్షన్ పీరియడ్లను ఉపయోగించండి.


