Gateway
Gateway लॉगिंग
लॉगिंग
उपयोगकर्ता-केंद्रित अवलोकन (CLI + Control UI + कॉन्फ़िगरेशन) के लिए, /logging देखें।
OpenClaw में दो लॉग सतहें हैं:
- कंसोल आउटपुट - जो आपको टर्मिनल / डीबग UI में दिखाई देता है।
- फ़ाइल लॉग - Gateway लॉगर द्वारा लिखी गई JSON पंक्तियाँ।
स्टार्टअप पर, Gateway हल किए गए डिफ़ॉल्ट एजेंट मॉडल के साथ उन मोड डिफ़ॉल्ट को लॉग करता है जो नए सत्रों को प्रभावित करते हैं:
एजेंट मॉडल: openai/gpt-5.6-sol (सोच=मध्यम, तेज़=चालू)thinking डिफ़ॉल्ट एजेंट, मॉडल पैरामीटर या वैश्विक एजेंट डिफ़ॉल्ट से आता है; सेट न होने पर यह medium दिखाता है। fast डिफ़ॉल्ट एजेंट या मॉडल के fastMode पैरामीटर से आता है।
फ़ाइल-आधारित लॉगर
- डिफ़ॉल्ट रोलिंग लॉग फ़ाइल
/tmp/openclaw/के अंतर्गत होती है (प्रति दिन एक फ़ाइल):openclaw-YYYY-MM-DD.log, जिसकी तारीख़ Gateway होस्ट के स्थानीय समय क्षेत्र के अनुसार होती है। यदि वह डायरेक्टरी असुरक्षित या लिखने योग्य नहीं है (गलत स्वामी, सभी के लिए लिखने योग्य या सिमलिंक), तो OpenClaw इसके बजाय उपयोगकर्ता-स्कोप वालेos.tmpdir()/openclaw-<uid>पथ पर फ़ॉलबैक करता है; Windows पर यह हमेशा उस OS-tmpdir फ़ॉलबैक का उपयोग करता है। - सक्रिय लॉग फ़ाइलें
logging.maxFileBytes(डिफ़ॉल्ट: 100 MB) पर रोटेट होती हैं, अधिकतम पाँच क्रमांकित आर्काइव (.1से.5तक) रखती हैं और नई सक्रिय फ़ाइल में लिखना जारी रखती हैं। - लॉग फ़ाइल का पथ और स्तर
~/.openclaw/openclaw.jsonके माध्यम से कॉन्फ़िगर करें:logging.file,logging.level। - फ़ाइल प्रारूप में प्रति पंक्ति एक JSON ऑब्जेक्ट होता है।
बातचीत, रियल-टाइम वॉइस और प्रबंधित-कक्ष कोड पथ परिचालन डीबगिंग और OTLP लॉग निर्यात के लिए बनाए गए सीमित जीवनचक्र रिकॉर्ड हेतु साझा फ़ाइल लॉगर का उपयोग करते हैं। ट्रांसक्रिप्ट टेक्स्ट, ऑडियो पेलोड, टर्न आईडी, कॉल आईडी और प्रदाता आइटम आईडी कभी भी लॉग रिकॉर्ड में कॉपी नहीं किए जाते।
Control UI का Logs टैब Gateway (logs.tail) के माध्यम से इस फ़ाइल को टेल करता है। CLI भी यही करता है:
openclaw logs --followवर्बोज़ बनाम लॉग स्तर
- फ़ाइल लॉग केवल
logging.levelद्वारा नियंत्रित होते हैं। --verboseकेवल कंसोल वर्बोसिटी (और WS लॉग शैली) को प्रभावित करता है - यह फ़ाइल लॉग स्तर को नहीं बढ़ाता।- फ़ाइल लॉग में केवल-वर्बोज़ विवरण कैप्चर करने के लिए,
logging.levelकोdebugयाtraceपर सेट करें। - ट्रेस लॉगिंग में चुने गए हॉट पथों, जैसे Plugin टूल फ़ैक्टरी तैयारी, के डायग्नोस्टिक टाइमिंग सारांश भी शामिल होते हैं। /tools/plugin#slow-plugin-tool-setup देखें।
कंसोल कैप्चर
CLI console.log/info/warn/error/debug/trace को कैप्चर करता है, उन्हें फ़ाइल लॉग में लिखता है और फिर भी stdout/stderr पर प्रिंट करता है।
कंसोल वर्बोसिटी को स्वतंत्र रूप से समायोजित करें:
logging.consoleLevel(डिफ़ॉल्टinfo)logging.consoleStyle(pretty|compact|json; TTY पर डिफ़ॉल्टpretty, अन्यथाcompact)
संपादन
OpenClaw संवेदनशील टोकन को लॉग या ट्रांसक्रिप्ट आउटपुट के प्रक्रिया से बाहर जाने से पहले छिपाता है। यह संपादन नीति कंसोल, फ़ाइल-लॉग, OTLP लॉग-रिकॉर्ड और सत्र ट्रांसक्रिप्ट टेक्स्ट सिंक पर लागू होती है, ताकि मेल खाने वाले सीक्रेट मान JSONL पंक्तियों या संदेशों को डिस्क पर लिखे जाने से पहले छिपा दिए जाएँ।
logging.redactSensitive:off|tools(डिफ़ॉल्ट:tools)logging.redactPatterns: रेगेक्स स्ट्रिंग की सरणी (डिफ़ॉल्ट को ओवरराइड करती है)- रॉ रेगेक्स स्ट्रिंग (स्वचालित
gi) या कस्टम फ़्लैग के लिए/pattern/flagsका उपयोग करें। - मिलानों को पहले 6 + अंतिम 4 वर्ण रखते हुए छिपाया जाता है (मान >= 18 वर्ण); छोटे मान
***बन जाते हैं। - डिफ़ॉल्ट में सामान्य कुंजी असाइनमेंट, CLI फ़्लैग, JSON फ़ील्ड, बेयरर हेडर, PEM ब्लॉक, लोकप्रिय विक्रेता टोकन प्रीफ़िक्स और भुगतान क्रेडेंशियल फ़ील्ड नाम (कार्ड नंबर, CVC/CVV, साझा भुगतान टोकन, भुगतान क्रेडेंशियल) शामिल होते हैं।
- रॉ रेगेक्स स्ट्रिंग (स्वचालित
कुछ सुरक्षा सीमाएँ logging.redactSensitive की परवाह किए बिना हमेशा संपादन करती हैं: Control UI टूल-कॉल ईवेंट, sessions_history टूल आउटपुट, डायग्नोस्टिक्स सहायता निर्यात, प्रदाता त्रुटि अवलोकन, निष्पादन स्वीकृति कमांड प्रदर्शन और Gateway WebSocket प्रोटोकॉल लॉग। ये सतहें अतिरिक्त पैटर्न के रूप में अभी भी logging.redactPatterns का पालन करती हैं, लेकिन redactSensitive: "off" इनके द्वारा रॉ सीक्रेट उत्सर्जित नहीं करवाता।
Gateway WebSocket लॉग
Gateway WebSocket प्रोटोकॉल लॉग को दो मोड में प्रिंट करता है:
- सामान्य मोड (
--verboseके बिना): केवल "रोचक" RPC परिणाम प्रिंट होते हैं - त्रुटियाँ (ok=false), धीमी कॉल (डिफ़ॉल्ट सीमा:>= 50ms) और पार्स त्रुटियाँ। - वर्बोज़ मोड (
--verbose): सभी WS अनुरोध/प्रतिक्रिया ट्रैफ़िक प्रिंट करता है।
WS लॉग शैली
openclaw gateway प्रति-Gateway शैली स्विच का समर्थन करता है:
--ws-log auto(डिफ़ॉल्ट): सामान्य मोड अनुकूलित होता है; वर्बोज़ मोड संक्षिप्त आउटपुट का उपयोग करता है।--ws-log compact: वर्बोज़ होने पर संक्षिप्त आउटपुट (युग्मित अनुरोध/प्रतिक्रिया)।--ws-log full: वर्बोज़ होने पर पूर्ण प्रति-फ़्रेम आउटपुट।--compact:--ws-log compactका उपनाम।
# अनुकूलित (केवल त्रुटियाँ/धीमे अनुरोध)openclaw gateway # सभी WS ट्रैफ़िक दिखाएँ (युग्मित)openclaw gateway --verbose --ws-log compact # सभी WS ट्रैफ़िक दिखाएँ (पूर्ण मेटा)openclaw gateway --verbose --ws-log fullकंसोल फ़ॉर्मेटिंग (सबसिस्टम लॉगिंग)
कंसोल फ़ॉर्मेटर TTY-जागरूक है और सुसंगत, प्रीफ़िक्स वाली पंक्तियाँ प्रिंट करता है। सबसिस्टम लॉगर आउटपुट को समूहीकृत और आसानी से स्कैन करने योग्य रखते हैं:
- हर पंक्ति पर सबसिस्टम प्रीफ़िक्स (जैसे
[gateway],[canvas],[tailscale])। - सबसिस्टम रंग (प्रत्येक सबसिस्टम के लिए स्थिर, नाम से हैश किए गए) और स्तर के अनुसार रंग।
- आउटपुट TTY होने पर रंग या जब परिवेश किसी समृद्ध टर्मिनल जैसा दिखता है (
TERM/COLORTERM/TERM_PROGRAM);NO_COLORऔरFORCE_COLORका पालन करता है। - संक्षिप्त सबसिस्टम प्रीफ़िक्स: आरंभिक
gateway/,channels/याproviders/खंड हटाता है, फिर शेष खंडों में से अधिकतम अंतिम 2 रखता है (जैसेchannels/turn/kernelकोturn/kernelके रूप में दिखाया जाता है)। ज्ञात चैनल सबसिस्टम (telegram,whatsapp,slack, आदि) हमेशा केवल चैनल नाम में संक्षिप्त हो जाते हैं। - सबसिस्टम के अनुसार सब-लॉगर (स्वचालित प्रीफ़िक्स + संरचित फ़ील्ड
{ subsystem })। - QR/UX आउटपुट के लिए
logRaw()(कोई प्रीफ़िक्स नहीं, कोई फ़ॉर्मेटिंग नहीं)। - कंसोल शैलियाँ:
pretty|compact|json। - कंसोल लॉग स्तर फ़ाइल लॉग स्तर से अलग है (
logging.levelकेdebug/traceहोने पर फ़ाइल पूर्ण विवरण रखती है)। - WhatsApp संदेशों के मुख्य भाग
debugपर लॉग होते हैं (उन्हें देखने के लिए--verboseका उपयोग करें)।
इससे फ़ाइल लॉग स्थिर रहते हैं और इंटरैक्टिव आउटपुट आसानी से स्कैन किया जा सकता है।