लॉगिंग
उपयोगकर्ता-उन्मुख अवलोकन (CLI + Control UI + कॉन्फ़िग) के लिए, /logging देखें। OpenClaw में दो लॉग “सतहें” हैं:- कंसोल आउटपुट (जो आप टर्मिनल / Debug UI में देखते हैं)।
- Gateway लॉगर द्वारा लिखे गए फ़ाइल लॉग (JSON lines)।
thinking डिफ़ॉल्ट एजेंट, मॉडल पैरामीटर, या ग्लोबल एजेंट डिफ़ॉल्ट से आता है;
जब यह सेट नहीं होता, तो स्टार्टअप सारांश medium दिखाता है। fast डिफ़ॉल्ट
एजेंट या मॉडल fastMode पैरामीटर से आता है।
फ़ाइल-आधारित लॉगर
- डिफ़ॉल्ट रोलिंग लॉग फ़ाइल
/tmp/openclaw/के अंतर्गत होती है (प्रति दिन एक फ़ाइल):openclaw-YYYY-MM-DD.log- तारीख Gateway होस्ट के स्थानीय टाइमज़ोन का उपयोग करती है।
- सक्रिय लॉग फ़ाइलें
logging.maxFileBytes(डिफ़ॉल्ट: 100 MB) पर रोटेट होती हैं, पाँच तक क्रमांकित आर्काइव रखती हैं और नई सक्रिय फ़ाइल में लिखना जारी रखती हैं। - लॉग फ़ाइल पथ और स्तर को
~/.openclaw/openclaw.jsonके माध्यम से कॉन्फ़िगर किया जा सकता है:logging.filelogging.level
logs.tail) के माध्यम से tail करता है।
CLI भी यही कर सकता है:
- फ़ाइल लॉग केवल
logging.levelद्वारा नियंत्रित होते हैं। --verboseकेवल कंसोल verbosity (और WS लॉग शैली) को प्रभावित करता है; यह फ़ाइल लॉग स्तर को नहीं बढ़ाता।- फ़ाइल लॉग में केवल-वर्बोज़ विवरण कैप्चर करने के लिए,
logging.levelकोdebugयाtraceपर सेट करें। - Trace logging में चुने हुए hot paths के लिए डायग्नॉस्टिक timing summaries भी शामिल होती हैं, जैसे plugin tool factory preparation। देखें /tools/plugin#slow-plugin-tool-setup.
कंसोल कैप्चर
CLIconsole.log/info/warn/error/debug/trace को कैप्चर करता है और उन्हें फ़ाइल लॉग में लिखता है,
साथ ही stdout/stderr पर प्रिंट करना जारी रखता है।
आप कंसोल verbosity को अलग से ट्यून कर सकते हैं:
logging.consoleLevel(डिफ़ॉल्टinfo)logging.consoleStyle(pretty|compact|json)
रिडैक्शन
OpenClaw संवेदनशील टोकन को लॉग या ट्रांसक्रिप्ट आउटपुट के process से बाहर जाने से पहले mask कर सकता है। यह logging redaction policy कंसोल, file-log, OTLP log-record, और session transcript text sinks पर लागू होती है, ताकि मेल खाने वाली secret values को JSONL lines या messages के डिस्क पर लिखे जाने से पहले mask किया जा सके।logging.redactSensitive:off|tools(डिफ़ॉल्ट:tools)logging.redactPatterns: regex strings की array (डिफ़ॉल्ट को override करती है)- Raw regex strings (auto
gi) का उपयोग करें, या custom flags चाहिए हों तो/pattern/flagsका। - Matches को पहले 6 + अंतिम 4 chars (length >= 18) रखकर mask किया जाता है, अन्यथा
***। - डिफ़ॉल्ट सामान्य key assignments, CLI flags, JSON fields, bearer headers, PEM blocks, लोकप्रिय token prefixes, और payment credential field names जैसे card number, CVC/CVV, shared payment token, और payment credential को cover करते हैं।
- Raw regex strings (auto
logging.redactSensitive की परवाह किए बिना हमेशा redact करती हैं।
इसमें Control UI tool-call events, sessions_history tool output,
diagnostics support exports, provider error observations, exec approval command
display, और Gateway WebSocket protocol logs शामिल हैं। ये surfaces फिर भी अतिरिक्त patterns के रूप में
logging.redactPatterns का उपयोग कर सकती हैं, लेकिन redactSensitive: "off"
उन्हें raw secrets emit नहीं करने देता।
Gateway WebSocket लॉग
Gateway WebSocket protocol logs को दो modes में print करता है:- सामान्य मोड (कोई
--verboseनहीं): केवल “दिलचस्प” RPC results print होते हैं:- errors (
ok=false) - धीमी calls (डिफ़ॉल्ट threshold:
>= 50ms) - parse errors
- errors (
- वर्बोज़ मोड (
--verbose): सभी WS request/response traffic print करता है।
WS लॉग शैली
openclaw gateway प्रति-Gateway style switch को support करता है:
--ws-log auto(डिफ़ॉल्ट): सामान्य मोड optimized है; verbose mode compact output का उपयोग करता है--ws-log compact: verbose होने पर compact output (paired request/response)--ws-log full: verbose होने पर full per-frame output--compact:--ws-log compactके लिए alias
कंसोल फ़ॉर्मैटिंग (subsystem logging)
कंसोल formatter TTY-aware है और सुसंगत, prefixed lines print करता है। Subsystem loggers output को grouped और scannable रखते हैं। व्यवहार:- हर line पर Subsystem prefixes (जैसे
[gateway],[canvas],[tailscale]) - Subsystem colors (प्रति subsystem स्थिर) और level coloring
- जब output TTY हो या environment rich terminal जैसा दिखे तब color (
TERM/COLORTERM/TERM_PROGRAM),NO_COLORका सम्मान करता है - छोटे किए गए subsystem prefixes: leading
gateway/+channels/हटाता है, अंतिम 2 segments रखता है (जैसेwhatsapp/outbound) - Subsystem के अनुसार sub-loggers (auto prefix + structured field
{ subsystem }) - QR/UX output के लिए
logRaw()(कोई prefix नहीं, कोई formatting नहीं) - कंसोल styles (जैसे
pretty | compact | json) - कंसोल log level file log level से अलग (जब
logging.levelकोdebug/traceपर सेट किया जाता है, तो file पूरा detail रखती है) - WhatsApp message bodies
debugपर log होते हैं (उन्हें देखने के लिए--verboseका उपयोग करें)