लॉगिंग
उपयोगकर्ता-दृश्य अवलोकन (CLI + Control UI + कॉन्फ़िगरेशन) के लिए, /logging देखें। OpenClaw में दो लॉग सतहें हैं:- कंसोल आउटपुट - जो आपको टर्मिनल / डीबग UI में दिखाई देता है।
- फ़ाइल लॉग - Gateway लॉगर द्वारा लिखी गई JSON पंक्तियाँ।
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 ऑब्जेक्ट होता है।
logs.tail)। CLI भी यही करता है:
वर्बोज़ बनाम लॉग स्तर
- फ़ाइल लॉग विशेष रूप से
logging.levelद्वारा नियंत्रित होते हैं। --verboseकेवल कंसोल वर्बोसिटी (और WS लॉग शैली) को प्रभावित करता है - यह फ़ाइल लॉग स्तर को नहीं बढ़ाता।- फ़ाइल लॉग में केवल-वर्बोज़ विवरण कैप्चर करने के लिए,
logging.levelकोdebugयाtraceपर सेट करें। - ट्रेस लॉगिंग में चयनित हॉट पाथ के लिए नैदानिक समय-सारांश भी शामिल होते हैं, जैसे Plugin टूल फ़ैक्टरी की तैयारी। /tools/plugin#slow-plugin-tool-setup देखें।
कंसोल कैप्चर
CLIconsole.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, साझा भुगतान टोकन, भुगतान क्रेडेंशियल) शामिल हैं।
- कच्ची रेगेक्स स्ट्रिंग (
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का उपनाम।
कंसोल स्वरूपण (सबसिस्टम लॉगिंग)
कंसोल फ़ॉर्मैटर 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का उपयोग करें)।