---
read_when:
    - लॉगिंग आउटपुट या प्रारूप बदलना
    - CLI या Gateway आउटपुट की डीबगिंग
summary: लॉगिंग सतहें, फ़ाइल लॉग, WS लॉग शैलियाँ और कंसोल फ़ॉर्मेटिंग
title: Gateway लॉगिंग
x-i18n:
    generated_at: "2026-07-27T17:48:06Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: f0b11a68611032c29c31091b2411982487e7f5df3ecf4f1e3b586e7d21e543d3
    source_path: gateway/logging.md
    workflow: 16
---

# लॉगिंग

उपयोगकर्ता-दृश्य अवलोकन (CLI + Control UI + कॉन्फ़िगरेशन) के लिए, [/logging](/hi/logging) देखें।

OpenClaw में दो लॉग सतहें हैं:

- **कंसोल आउटपुट** - जो आपको टर्मिनल / डीबग UI में दिखाई देता है।
- **फ़ाइल लॉग** - Gateway लॉगर द्वारा लिखी गई JSON पंक्तियाँ।

स्टार्टअप पर, Gateway समाधान किया गया डिफ़ॉल्ट एजेंट मॉडल और नए सत्रों को प्रभावित करने वाले मोड डिफ़ॉल्ट लॉग करता है:

```text
एजेंट मॉडल: 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 भी यही करता है:

```bash
openclaw logs --follow
```

### वर्बोज़ बनाम लॉग स्तर

- **फ़ाइल लॉग** विशेष रूप से `logging.level` द्वारा नियंत्रित होते हैं।
- `--verbose` केवल **कंसोल वर्बोसिटी** (और WS लॉग शैली) को प्रभावित करता है - यह फ़ाइल लॉग स्तर को **नहीं** बढ़ाता।
- फ़ाइल लॉग में केवल-वर्बोज़ विवरण कैप्चर करने के लिए, `logging.level` को `debug` या `trace` पर सेट करें।
- ट्रेस लॉगिंग में चयनित हॉट पाथ के लिए नैदानिक समय-सारांश भी शामिल होते हैं, जैसे Plugin टूल फ़ैक्टरी की तैयारी। [/tools/plugin#slow-plugin-tool-setup](/hi/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` का उपनाम।

```bash
# अनुकूलित (केवल त्रुटियाँ/धीमे अनुरोध)
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` का उपयोग करें)।

इससे फ़ाइल लॉग स्थिर रहते हैं और इंटरैक्टिव आउटपुट आसानी से स्कैन करने योग्य बनता है।

## संबंधित

- [लॉगिंग](/hi/logging)
- [OpenTelemetry निर्यात](/hi/gateway/opentelemetry)
- [डायग्नोस्टिक्स निर्यात](/hi/gateway/diagnostics)
