logging.level बढ़ाए बिना किसी एक सबसिस्टम के लिए अतिरिक्त लॉगिंग चालू करते हैं। जब तक कोई सबसिस्टम किसी फ़्लैग की जाँच नहीं करता, उसका कोई प्रभाव नहीं पड़ता।
यह कैसे काम करता है
- फ़्लैग केस-असंवेदी स्ट्रिंग होते हैं, जिन्हें कॉन्फ़िगरेशन में
diagnostics.flagsऔरOPENCLAW_DIAGNOSTICSएनवायरनमेंट ओवरराइड से निर्धारित करके, डुप्लिकेट हटाकर और लोअरकेस में बदला जाता है। name.*स्वयंnameऔरname.के अंतर्गत आने वाली हर चीज़ से मेल खाता है (उदाहरण के लिए,telegram.*,telegram.httpसे मेल खाता है)।*याallप्रत्येक फ़्लैग को सक्षम करता है।- कॉन्फ़िगरेशन में
diagnostics.flagsबदलने के बाद Gateway को पुनः आरंभ करें; यह हॉट-रीलोड नहीं होता।
ज्ञात फ़्लैग
कॉन्फ़िगरेशन द्वारा सक्षम करें
एनवायरनमेंट ओवरराइड (एक बार के लिए)
OPENCLAW_DIAGNOSTICS=0 उस प्रोसेस के लिए एनवायरनमेंट और कॉन्फ़िगरेशन, दोनों के फ़्लैग अक्षम करता है। यह फ़ाइल को संपादित किए बिना, कॉन्फ़िगरेशन में चालू छोड़े गए प्रोफ़ाइलर फ़्लैग को अस्थायी रूप से शांत करने के लिए उपयोगी है।
प्रोफ़ाइलर फ़्लैग
प्रोफ़ाइलर फ़्लैग हल्के टाइमिंग स्पैन को नियंत्रित करते हैं; बंद होने पर वे कोई अतिरिक्त ओवरहेड नहीं जोड़ते। Gateway के एक रन के लिए सभी प्रोफ़ाइलर-नियंत्रित स्पैन सक्षम करें:profiler उत्तर प्रोफ़ाइलर और Codex प्रोफ़ाइलर, दोनों को सक्षम करता है; केवल किसी एक को सक्षम करने के लिए
उसके दायरे-विशिष्ट फ़्लैग नाम का उपयोग करें।
या इसे कॉन्फ़िगरेशन में सेट करें:
diagnostics.flags से हटाकर पुनः आरंभ करें, या उस रन के लिए प्रत्येक डायग्नोस्टिक्स फ़्लैग को ओवरराइड करने हेतु प्रोसेस को
OPENCLAW_DIAGNOSTICS=0 के साथ शुरू करें।
टाइमलाइन आर्टिफ़ैक्ट
timeline फ़्लैग (उपनाम: diagnostics.timeline) बाहरी QA हार्नेस के लिए संरचित स्टार्टअप
और रनटाइम टाइमिंग इवेंट को JSONL के रूप में लिखता है:
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH से आता है, भले ही
फ़्लैग स्वयं कॉन्फ़िगरेशन में सेट हो; पथ के लिए कोई कॉन्फ़िगरेशन कुंजी नहीं है।
जब timeline केवल कॉन्फ़िगरेशन से सक्षम होता है, तो शुरुआती कॉन्फ़िगरेशन-लोडिंग स्पैन
उपलब्ध नहीं होते, क्योंकि OpenClaw ने तब तक कॉन्फ़िगरेशन नहीं पढ़ा होता; बाद के स्टार्टअप स्पैन
सामान्य रूप से कैप्चर किए जाते हैं।
OPENCLAW_DIAGNOSTICS=1, =all, और =* भी टाइमलाइन सक्षम करते हैं, क्योंकि वे
प्रत्येक फ़्लैग सक्षम करते हैं। जब आपको केवल JSONL आर्टिफ़ैक्ट चाहिए और अन्य सभी डायग्नोस्टिक्स फ़्लैग नहीं चाहिए, तो दायरे-विशिष्ट timeline फ़्लैग को प्राथमिकता दें।
टाइमलाइन में इवेंट-लूप विलंब नमूनों के लिए
timeline से परे एक और ऑप्ट-इन आवश्यक है: टाइमलाइन सक्षम करने के साथ
OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1 (या on/true/yes) सेट करें।
टाइमलाइन रिकॉर्ड openclaw.diagnostics.v1 एनवेलप का उपयोग करते हैं और उनमें
प्रोसेस आईडी, चरण नाम, स्पैन नाम, अवधियाँ, Plugin आईडी, निर्भरता
संख्याएँ, इवेंट-लूप विलंब नमूने, प्रोवाइडर ऑपरेशन नाम, चाइल्ड-प्रोसेस निकास
स्थिति और स्टार्टअप त्रुटि के नाम/संदेश शामिल हो सकते हैं। टाइमलाइन फ़ाइलों को स्थानीय
डायग्नोस्टिक्स आर्टिफ़ैक्ट मानें; उन्हें अपनी मशीन के बाहर साझा करने से पहले उनकी समीक्षा करें।
लॉग कहाँ जाते हैं
फ़्लैग मानक डायग्नोस्टिक्स लॉग फ़ाइल में लॉग उत्सर्जित करते हैं। डिफ़ॉल्ट रूप से:/tmp/openclaw/openclaw-<profile>-YYYY-MM-DD.log का उपयोग करते हैं; उदाहरण के लिए,
--dev, openclaw-dev-YYYY-MM-DD.log का उपयोग करता है।
यदि आप logging.file सेट करते हैं, तो इसके बजाय उस पथ का उपयोग करें। लॉग JSONL होते हैं (प्रति पंक्ति एक JSON
ऑब्जेक्ट)। logging.redactSensitive के आधार पर संपादन फिर भी लागू होता है।
लॉग-पथ निर्धारण, रोटेशन और संपादन मॉडल की पूरी जानकारी के लिए लॉगिंग देखें।
लॉग निकालें
सक्रिय प्रोफ़ाइल की नवीनतम लॉग फ़ाइल पढ़ें:openclaw logs --follow का उपयोग करें (देखें
/cli/logs)।
टिप्पणियाँ
- यदि
logging.levelकोwarnसे अधिक सेट किया गया है, तो फ़्लैग-नियंत्रित लॉग दबाए जा सकते हैं। डिफ़ॉल्टinfoउपयुक्त है। brave.httpBrave Search अनुरोध URL/क्वेरी पैरामीटर, प्रतिक्रिया स्थिति/समयावधि और कैश हिट/मिस/लेखन इवेंट लॉग करता है। यह API कुंजी (जो अनुरोध हेडर के रूप में भेजी जाती है) या प्रतिक्रिया बॉडी लॉग नहीं करता, लेकिन खोज क्वेरी संवेदनशील हो सकती हैं।- फ़्लैग को सक्षम छोड़ना सुरक्षित है; वे केवल विशिष्ट सबसिस्टम के लॉग की मात्रा को प्रभावित करते हैं।
- लॉग गंतव्य, स्तर और संपादन बदलने के लिए /logging का उपयोग करें।