Gateway
Gateway लॉगिंग
लॉगिंग
उपयोगकर्ता-दृश्य अवलोकन (CLI + Control UI + कॉन्फ़िगरेशन) के लिए, /logging देखें।
OpenClaw में दो लॉग सतहें हैं:
- कंसोल आउटपुट - जो आपको टर्मिनल / डीबग UI में दिखाई देता है।
- फ़ाइल लॉग - Gateway लॉगर द्वारा लिखी गई JSON पंक्तियाँ।
स्टार्टअप पर, Gateway समाधान किया गया डिफ़ॉल्ट एजेंट मॉडल और नए सत्रों को प्रभावित करने वाले मोड डिफ़ॉल्ट लॉग करता है:
एजेंट मॉडल: openai/gpt-5.6-sol (चिंतन=मध्यम, तेज़=चालू)thinking डिफ़ॉल्ट एजेंट, मॉडल पैरामीटर या वैश्विक एजेंट डिफ़ॉल्ट से आता है; सेट न होने पर यह medium दिखाता है। fast डिफ़ॉल्ट एजेंट या मॉडल के fastMode पैरामीटर से आता है।
फ़ाइल-आधारित लॉगर
- डिफ़ॉल्ट रोलिंग लॉग फ़ाइलें
/tmp/openclaw/के अंतर्गत होती हैं (प्रतिदिन एक फ़ाइल), जिनकी तारीख Gateway होस्ट के स्थानीय समय क्षेत्र के अनुसार होती है। डिफ़ॉल्ट प्रोफ़ाइलopenclaw-YYYY-MM-DD.logका उपयोग करती है; नामित प्रोफ़ाइलopenclaw-<profile>-YYYY-MM-DD.logका उपयोग करती हैं (उदाहरण के लिए,openclaw-dev-YYYY-MM-DD.log)। यदि वह डायरेक्टरी असुरक्षित या लिखने योग्य नहीं है (गलत स्वामी, सभी के लिए लिखने योग्य, या सिमलिंक), तो 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.redactPatterns: रेगेक्स स्ट्रिंग की सरणी (डिफ़ॉल्ट को ओवरराइड करती है)- कच्ची रेगेक्स स्ट्रिंग (
giस्वतः), या कस्टम फ़्लैग के लिए/pattern/flagsका उपयोग करें। - मिलान को पहले 6 + अंतिम 4 वर्ण रखते हुए मास्क किया जाता है (मान >= 18 वर्ण); छोटे मान
***बन जाते हैं। - डिफ़ॉल्ट में सामान्य कुंजी असाइनमेंट, CLI फ़्लैग, JSON फ़ील्ड, बियरर हेडर, PEM ब्लॉक, लोकप्रिय विक्रेता टोकन प्रीफ़िक्स और भुगतान क्रेडेंशियल फ़ील्ड नाम (कार्ड नंबर, CVC/CVV, साझा भुगतान टोकन, भुगतान क्रेडेंशियल) शामिल हैं।
- कच्ची रेगेक्स स्ट्रिंग (
Control UI टूल-कॉल इवेंट, sessions_history आउटपुट, डायग्नोस्टिक्स निर्यात, प्रदाता त्रुटियाँ, exec अनुमोदन प्रदर्शन और Gateway WebSocket लॉग जैसी सुरक्षा सीमाएँ हमेशा रिडैक्ट करती हैं। logging.redactPatterns परिनियोजन-विशिष्ट पैटर्न जोड़ता है।
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का उपयोग करें)।
इससे फ़ाइल लॉग स्थिर रहते हैं और इंटरैक्टिव आउटपुट आसानी से स्कैन करने योग्य बनता है।