लॉगिंग
उपयोगकर्ता-उन्मुख अवलोकन (CLI + Control UI + विन्यास) के लिए, देखें /logging। OpenClaw में दो लॉग “सतहें” हैं:- कंसोल आउटपुट (जो आप टर्मिनल / Debug UI में देखते हैं)।
- फ़ाइल लॉग (JSON लाइन्स), जिन्हें Gateway लॉगर द्वारा लिखा जाता है।
फ़ाइल-आधारित लॉगर
- डिफ़ॉल्ट रोलिंग लॉग फ़ाइल
/tmp/openclaw/के अंतर्गत होती है (प्रति दिन एक फ़ाइल):openclaw-YYYY-MM-DD.log- तारीख Gateway होस्ट के स्थानीय टाइमज़ोन का उपयोग करती है।
- लॉग फ़ाइल पथ और स्तर
~/.openclaw/openclaw.jsonके माध्यम से विन्यस्त किए जा सकते हैं:logging.filelogging.level
- Control UI का Logs टैब gateway के माध्यम से इस फ़ाइल को tail करता है (
logs.tail)। - CLI भी वही कर सकता है:
- फ़ाइल लॉग केवल
logging.levelद्वारा नियंत्रित होते हैं। --verboseकेवल कंसोल verbosity (और WS लॉग शैली) को प्रभावित करता है; यह फ़ाइल लॉग स्तर नहीं बढ़ाता।- verbose-केवल विवरण फ़ाइल लॉग में कैप्चर करने के लिए,
logging.levelकोdebugयाtraceपर सेट करें।
कंसोल कैप्चर
CLIconsole.log/info/warn/error/debug/trace को कैप्चर करता है और उन्हें फ़ाइल लॉग में लिखता है,
जबकि stdout/stderr पर प्रिंट करना जारी रखता है।
आप कंसोल verbosity को स्वतंत्र रूप से ट्यून कर सकते हैं:
logging.consoleLevel(डिफ़ॉल्टinfo)logging.consoleStyle(pretty|compact|json)
टूल सारांश रिडैक्शन
- Verbose tool summaries (जैसे
🛠️ Exec: ...) console stream पर आने से पहले संवेदनशील tokens को mask कर सकते हैं। 40. यह केवल tools के लिए है और फ़ाइल logs को नहीं बदलता।
logging.redactSensitive:off|tools(डिफ़ॉल्ट:tools)logging.redactPatterns: regex स्ट्रिंग्स की array (डिफ़ॉल्ट्स को ओवरराइड करती है)- raw regex स्ट्रिंग्स का उपयोग करें (auto
gi), या यदि कस्टम फ़्लैग्स चाहिए हों तो/pattern/flags। - मैच होने पर पहले 6 + आख़िरी 4 अक्षर रखकर मास्क किया जाता है (लंबाई >= 18), अन्यथा
***। - डिफ़ॉल्ट्स सामान्य key असाइनमेंट्स, CLI फ़्लैग्स, JSON फ़ील्ड्स, bearer हेडर्स, PEM ब्लॉक्स, और लोकप्रिय टोकन प्रीफ़िक्स को कवर करते हैं।
- raw regex स्ट्रिंग्स का उपयोग करें (auto
Gateway WebSocket लॉग
Gateway WebSocket प्रोटोकॉल लॉग को दो मोड में प्रिंट करता है:- Normal मोड (बिना
--verbose): केवल “दिलचस्प” RPC परिणाम प्रिंट होते हैं:- त्रुटियाँ (
ok=false) - धीमी कॉल्स (डिफ़ॉल्ट थ्रेशहोल्ड:
>= 50ms) - parse त्रुटियाँ
- त्रुटियाँ (
- Verbose मोड (
--verbose): सभी WS अनुरोध/प्रतिक्रिया ट्रैफ़िक प्रिंट करता है।
WS लॉग शैली
openclaw gateway प्रति-Gateway शैली स्विच का समर्थन करता है:
--ws-log auto(डिफ़ॉल्ट): normal मोड अनुकूलित रहता है; verbose मोड कॉम्पैक्ट आउटपुट उपयोग करता है--ws-log compact: verbose होने पर कॉम्पैक्ट आउटपुट (जोड़ीदार अनुरोध/प्रतिक्रिया)--ws-log full: verbose होने पर पूर्ण प्रति-फ़्रेम आउटपुट--compact:--ws-log compactके लिए उपनाम
कंसोल फ़ॉर्मैटिंग (सब-सिस्टम लॉगिंग)
- console formatter TTY-aware है और एकसमान, prefixed lines प्रिंट करता है।
- Subsystem loggers आउटपुट को समूहबद्ध और स्कैन करने योग्य रखते हैं।
-
- Subsystem prefixes हर लाइन पर (जैसे
[gateway],[canvas],[tailscale])
- Subsystem prefixes हर लाइन पर (जैसे
- सब-सिस्टम रंग (प्रति सब-सिस्टम स्थिर) साथ में स्तर रंग
- जब आउटपुट TTY हो या परिवेश एक रिच टर्मिनल जैसा दिखे तब रंग (
TERM/COLORTERM/TERM_PROGRAM),NO_COLORका सम्मान करता है -
- Shortened subsystem prefixes: शुरुआती
gateway/+channels/हटा देता है, आख़िरी 2 segments रखता है (जैसेwhatsapp/outbound)
- Shortened subsystem prefixes: शुरुआती
- सब-सिस्टम द्वारा सब-लॉगर्स (auto प्रीफ़िक्स + संरचित फ़ील्ड
{ subsystem }) - QR/UX आउटपुट के लिए
logRaw()(कोई प्रीफ़िक्स नहीं, कोई फ़ॉर्मैटिंग नहीं) -
- Console styles (जैसे
pretty | compact | json)
- Console styles (जैसे
- कंसोल लॉग स्तर फ़ाइल लॉग स्तर से अलग (जब
logging.levelकोdebug/traceपर सेट किया जाता है, फ़ाइल पूरी जानकारी रखती है) - WhatsApp संदेश बॉडीज़
debugपर लॉग की जाती हैं (उन्हें देखने के लिए--verboseका उपयोग करें)