---
read_when:
    - आपको वैश्विक लॉगिंग स्तर बढ़ाए बिना लक्षित डीबग लॉग चाहिए
    - सहायता के लिए आपको उप-प्रणाली-विशिष्ट लॉग कैप्चर करने होंगे
summary: लक्षित डीबग लॉग के लिए निदान फ़्लैग
title: डायग्नोस्टिक्स फ़्लैग्स
x-i18n:
    generated_at: "2026-07-27T17:44:29Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: ad3bdab6ba1fd98ba58c99c93f9a12d31f57e2655cb0c1eb2de09e34b970f56c
    source_path: diagnostics/flags.md
    workflow: 16
---

डायग्नोस्टिक्स फ़्लैग वैश्विक रूप से
`logging.level` बढ़ाए बिना किसी एक सबसिस्टम के लिए अतिरिक्त लॉगिंग चालू करते हैं। जब तक कोई सबसिस्टम किसी फ़्लैग की जाँच नहीं करता, उसका कोई प्रभाव नहीं पड़ता।

## यह कैसे काम करता है

- फ़्लैग केस-असंवेदी स्ट्रिंग होते हैं, जिन्हें कॉन्फ़िगरेशन में `diagnostics.flags` और `OPENCLAW_DIAGNOSTICS` एनवायरनमेंट ओवरराइड से निर्धारित करके, डुप्लिकेट हटाकर और लोअरकेस में बदला जाता है।
- `name.*` स्वयं `name` और `name.` के अंतर्गत आने वाली हर चीज़ से मेल खाता है (उदाहरण के लिए,
  `telegram.*`, `telegram.http` से मेल खाता है)।
- `*` या `all` प्रत्येक फ़्लैग को सक्षम करता है।
- कॉन्फ़िगरेशन में `diagnostics.flags` बदलने के बाद Gateway को पुनः आरंभ करें; यह
  हॉट-रीलोड नहीं होता।

## ज्ञात फ़्लैग

| फ़्लैग                  | सक्षम करता है                                                   |
| --------------------- | --------------------------------------------------------- |
| `telegram.http`       | Telegram Bot API HTTP त्रुटि लॉगिंग                       |
| `brave.http`          | Brave Search अनुरोध/प्रतिक्रिया/कैश लॉगिंग               |
| `profiler`            | उत्तर-चरण प्रोफ़ाइलर और Codex ऐप-सर्वर प्रोफ़ाइलर (दोनों) |
| `reply.profiler`      | केवल उत्तर-चरण प्रोफ़ाइलर                                 |
| `codex.profiler`      | केवल Codex ऐप-सर्वर प्रोफ़ाइलर                            |
| `health`              | Gateway हेल्थ प्रोब/खाता/बाइंडिंग डीबग विवरण        |
| `ingress.timing`      | सत्र लोड, मॉडल चयन और मॉडल कैटलॉग की समयावधियाँ  |
| `plugin.load-profile` | सिंक्रोनस Plugin मॉड्यूल-लोड की समयावधियाँ                    |
| `timeline`            | संरचित JSONL टाइमलाइन आर्टिफ़ैक्ट (नीचे देखें)            |

## कॉन्फ़िगरेशन द्वारा सक्षम करें

```json
{
  "diagnostics": {
    "flags": ["telegram.http"]
  }
}
```

एकाधिक फ़्लैग:

```json
{
  "diagnostics": {
    "flags": ["telegram.http", "brave.http", "gateway.*"]
  }
}
```

## एनवायरनमेंट ओवरराइड (एक बार के लिए)

```bash
OPENCLAW_DIAGNOSTICS=telegram.http,brave.http
```

मान अल्पविराम या रिक्त स्थान पर विभाजित होते हैं। विशेष मान:

| मान                       | प्रभाव                                   |
| --------------------------- | ---------------------------------------- |
| `0`, `false`, `off`, `none` | कॉन्फ़िगरेशन को भी ओवरराइड करते हुए सभी फ़्लैग अक्षम करें |
| `1`, `true`, `all`, `*`     | प्रत्येक फ़्लैग सक्षम करें                        |

`OPENCLAW_DIAGNOSTICS=0` उस प्रोसेस के लिए एनवायरनमेंट और कॉन्फ़िगरेशन, दोनों के फ़्लैग अक्षम करता है। यह फ़ाइल को संपादित किए बिना, कॉन्फ़िगरेशन में चालू छोड़े गए प्रोफ़ाइलर फ़्लैग को अस्थायी रूप से शांत करने के लिए उपयोगी है।

## प्रोफ़ाइलर फ़्लैग

प्रोफ़ाइलर फ़्लैग हल्के टाइमिंग स्पैन को नियंत्रित करते हैं; बंद होने पर वे कोई अतिरिक्त ओवरहेड नहीं जोड़ते।

Gateway के एक रन के लिए सभी प्रोफ़ाइलर-नियंत्रित स्पैन सक्षम करें:

```bash
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway run
```

केवल उत्तर-डिस्पैच प्रोफ़ाइलर स्पैन सक्षम करें:

```bash
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway run
```

केवल Codex ऐप-सर्वर स्टार्टअप/टूल/थ्रेड प्रोफ़ाइलर स्पैन सक्षम करें:

```bash
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway run
```

`profiler` उत्तर प्रोफ़ाइलर और Codex प्रोफ़ाइलर, दोनों को सक्षम करता है; केवल किसी एक को सक्षम करने के लिए
उसके दायरे-विशिष्ट फ़्लैग नाम का उपयोग करें।

या इसे कॉन्फ़िगरेशन में सेट करें:

```json
{
  "diagnostics": {
    "flags": ["reply.profiler", "codex.profiler"]
  }
}
```

कॉन्फ़िगरेशन फ़्लैग बदलने के बाद Gateway को पुनः आरंभ करें। किसी प्रोफ़ाइलर फ़्लैग को अक्षम करने के लिए,
उसे `diagnostics.flags` से हटाकर पुनः आरंभ करें, या उस रन के लिए प्रत्येक डायग्नोस्टिक्स फ़्लैग को ओवरराइड करने हेतु प्रोसेस को
`OPENCLAW_DIAGNOSTICS=0` के साथ शुरू करें।

## टाइमलाइन आर्टिफ़ैक्ट

`timeline` फ़्लैग (उपनाम: `diagnostics.timeline`) बाहरी QA हार्नेस के लिए संरचित स्टार्टअप
और रनटाइम टाइमिंग इवेंट को JSONL के रूप में लिखता है:

```bash
OPENCLAW_DIAGNOSTICS=timeline \
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \
openclaw gateway run
```

या इसे कॉन्फ़िगरेशन में सक्षम करें:

```json
{
  "diagnostics": {
    "flags": ["timeline"]
  }
}
```

आउटपुट पथ हमेशा `OPENCLAW_DIAGNOSTICS_TIMELINE_PATH` से आता है, भले ही
फ़्लैग स्वयं कॉन्फ़िगरेशन में सेट हो; पथ के लिए कोई कॉन्फ़िगरेशन कुंजी नहीं है।
जब `timeline` केवल कॉन्फ़िगरेशन से सक्षम होता है, तो शुरुआती कॉन्फ़िगरेशन-लोडिंग स्पैन
उपलब्ध नहीं होते, क्योंकि OpenClaw ने तब तक कॉन्फ़िगरेशन नहीं पढ़ा होता; बाद के स्टार्टअप स्पैन
सामान्य रूप से कैप्चर किए जाते हैं।

`OPENCLAW_DIAGNOSTICS=1`, `=all`, और `=*` भी टाइमलाइन सक्षम करते हैं, क्योंकि वे
प्रत्येक फ़्लैग सक्षम करते हैं। जब आपको केवल JSONL आर्टिफ़ैक्ट चाहिए और अन्य सभी डायग्नोस्टिक्स फ़्लैग नहीं चाहिए, तो दायरे-विशिष्ट `timeline` फ़्लैग को प्राथमिकता दें।

टाइमलाइन में इवेंट-लूप विलंब नमूनों के लिए
`timeline` से परे एक और ऑप्ट-इन आवश्यक है: टाइमलाइन सक्षम करने के साथ
`OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1` (या `on`/`true`/`yes`) सेट करें।

टाइमलाइन रिकॉर्ड `openclaw.diagnostics.v1` एनवेलप का उपयोग करते हैं और उनमें
प्रोसेस आईडी, चरण नाम, स्पैन नाम, अवधियाँ, Plugin आईडी, निर्भरता
संख्याएँ, इवेंट-लूप विलंब नमूने, प्रोवाइडर ऑपरेशन नाम, चाइल्ड-प्रोसेस निकास
स्थिति और स्टार्टअप त्रुटि के नाम/संदेश शामिल हो सकते हैं। टाइमलाइन फ़ाइलों को स्थानीय
डायग्नोस्टिक्स आर्टिफ़ैक्ट मानें; उन्हें अपनी मशीन के बाहर साझा करने से पहले उनकी समीक्षा करें।

## लॉग कहाँ जाते हैं

फ़्लैग मानक डायग्नोस्टिक्स लॉग फ़ाइल में लॉग उत्सर्जित करते हैं। डिफ़ॉल्ट रूप से:

```
/tmp/openclaw/openclaw-YYYY-MM-DD.log
```

नामित प्रोफ़ाइल `/tmp/openclaw/openclaw-<profile>-YYYY-MM-DD.log` का उपयोग करते हैं; उदाहरण के लिए,
`--dev`, `openclaw-dev-YYYY-MM-DD.log` का उपयोग करता है।

यदि आप `logging.file` सेट करते हैं, तो इसके बजाय उस पथ का उपयोग करें। लॉग JSONL होते हैं (प्रति पंक्ति एक JSON
ऑब्जेक्ट)। `logging.redactSensitive` के आधार पर संपादन फिर भी लागू होता है।
लॉग-पथ निर्धारण, रोटेशन और संपादन मॉडल की पूरी जानकारी के लिए [लॉगिंग](/hi/logging) देखें।

## लॉग निकालें

सक्रिय प्रोफ़ाइल की नवीनतम लॉग फ़ाइल पढ़ें:

```bash
openclaw logs --plain
# नामित प्रोफ़ाइल का उदाहरण:
openclaw --profile work logs --plain
```

Telegram HTTP डायग्नोस्टिक्स के लिए फ़िल्टर करें:

```bash
openclaw logs --plain --limit 5000 | rg "telegram http error"
```

Brave Search HTTP डायग्नोस्टिक्स के लिए फ़िल्टर करें:

```bash
openclaw logs --plain --limit 5000 | rg "brave http"
```

या समस्या को दोहराते समय टेल करें:

```bash
openclaw logs --follow --plain | rg "telegram http error"
```

दूरस्थ Gateway के लिए इसके बजाय `openclaw logs --follow` का उपयोग करें (देखें
[/cli/logs](/hi/cli/logs))।

## टिप्पणियाँ

- यदि `logging.level` को `warn` से अधिक सेट किया गया है, तो फ़्लैग-नियंत्रित लॉग
  दबाए जा सकते हैं। डिफ़ॉल्ट `info` उपयुक्त है।
- `brave.http` Brave Search अनुरोध URL/क्वेरी पैरामीटर, प्रतिक्रिया
  स्थिति/समयावधि और कैश हिट/मिस/लेखन इवेंट लॉग करता है। यह API कुंजी
  (जो अनुरोध हेडर के रूप में भेजी जाती है) या प्रतिक्रिया बॉडी लॉग नहीं करता, लेकिन खोज क्वेरी
  संवेदनशील हो सकती हैं।
- फ़्लैग को सक्षम छोड़ना सुरक्षित है; वे केवल
  विशिष्ट सबसिस्टम के लॉग की मात्रा को प्रभावित करते हैं।
- लॉग गंतव्य, स्तर और संपादन बदलने के लिए [/logging](/hi/logging) का उपयोग करें।

## संबंधित

- [Gateway डायग्नोस्टिक्स](/hi/gateway/diagnostics)
- [Gateway समस्या-निवारण](/hi/gateway/troubleshooting)
