> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/reference/hi/platform/python-sdk/logging-and-debugging.md).

# लॉगिंग और डीबगिंग

जब SDK कुछ अप्रत्याशित करता है, तो इसका कारण पता करने का सबसे तेज़ तरीका आमतौर पर अंतर्निहित HTTP अनुरोध और प्रतिक्रिया को देखना होता है।

## विस्तृत अनुरोध लॉगिंग सक्षम करें

SDK Python के मानक `logging` मॉड्यूल और `requests` लाइब्रेरी का उपयोग नीचे से करता है। SDK द्वारा किए गए हर HTTP अनुरोध को देखने के लिए:

```python
import logging
import http.client as http_client

http_client.HTTPConnection.debuglevel = 1
logging.basicConfig(level=logging.DEBUG)
logging.getLogger("urllib3").setLevel(logging.DEBUG)
logging.getLogger("urllib3").propagate = True
```

यह प्रत्येक अनुरोध पंक्ति, हेडर (जहाँ SDK उन्हें छिपाता है, वहाँ उन्हें छिपाए हुए), और प्रतिक्रिया की स्थिति प्रिंट करता है। इस सक्षम सेटिंग के साथ एक एकल SDK कॉल चलाएँ और आपको ठीक-ठीक दिखेगा कि क्या भेजा जा रहा है।

## एकल विफल कॉल की जाँच करें

यदि आप वैश्विक लॉगिंग सक्षम किए बिना एक कॉल की जाँच करना चाहते हैं, तो सीधे adapter में जाएँ। `वर्कस्पेस` / `प्रोजेक्ट` / `संस्करण` अंततः `roboflow.adapters.rfapi` (या `deploymentapi`, `vision_events_api`); उन्हें सीधे कॉल करने पर कच्ची प्रतिक्रिया लौटती है और उच्च-स्तरीय method द्वारा किए जाने वाले किसी भी post-processing को छोड़ देती है:

```python
from roboflow.adapters import rfapi

response = rfapi.get_workflow("YOUR_API_KEY", workspace_url="my-workspace", workflow_url="slow-webhooks")
print(response)
```

यदि उच्च-स्तरीय कॉल ने अपवाद उत्पन्न किया, तो वही adapter कॉल आमतौर पर एक `RoboflowError` उत्पन्न करती है, जिसका string सर्वर की हूबहू response body होती है - जो उन bad-request errors के निदान में उपयोगी है जिन्हें उच्च-स्तरीय method wrap कर सकता है।

## सामान्य त्रुटियाँ

### `RoboflowError: 401`

प्रमाणीकरण विफलता। इनमें से एक कारण हो सकता है:

* `ROBOFLOW_API_KEY` सेट नहीं है, या
* को पास की गई कुंजी `Roboflow(api_key=...)` गलत है, या
* कुंजी मान्य है लेकिन ऑपरेशन के लिए आवश्यक scope नहीं रखती। देखें [स्कोप्ड API कुंजियाँ](/reference/hi/authentication/authentication/scoped-api-keys.md).

### `RoboflowError: 404`

संसाधन नहीं मिला। जाँचें कि workspace / project / version slug वेब ऐप के URL bar में दिए गए slug से मेल खाता है - slug हमेशा display name से मेल नहीं खाते, और SDK पूरे समय slugs का उपयोग करता है।

### `RoboflowError: 423 Locked`

Workspace बिलिंग-रोक स्थिति में है। वेब ऐप के billing पेज में इसे हल करें या सहायता से संपर्क करें।

### `RuntimeError` से `restore()`

आइटम वर्तमान में Trash में नहीं है। या तो 30-दिन की अवधारण अवधि के बाद इसे पहले ही स्थायी रूप से साफ़ कर दिया गया था, या यह अभी भी workspace में सक्रिय है।

### धीमे अपलोड

`Workspace.upload_dataset()` डिफ़ॉल्ट रूप से `num_workers=10`. बड़े datasets के लिए, इसे बढ़ाएँ (लगभग 25 तक - उससे आगे आपको throttled responses मिलने लगते हैं)। विपरीत स्थिति में (सीमित networks या साझा infra), इसे घटाएँ।

### `ImportError` पर `roboflow-slim`

`roboflow-slim` Pillow, NumPy, OpenCV, और Matplotlib को शामिल नहीं करता। यदि आप `roboflow.models.*` से import करते हैं या एक `.predict(...).save(...)`-style visualization helper कॉल करते हैं, तो इसके बजाय पूर्ण `roboflow` पैकेज इंस्टॉल करें।

## स्रोत में कहाँ देखें

यदि stack trace इशारा करता है `roboflow.core.workspace.py` या `roboflow.adapters.rfapi`, तो [GitHub स्रोत](https://github.com/roboflow/roboflow-python) खोजा जा सकता है और methods छोटे हैं। किसी method के सटीक signature के लिए, adapter docstrings ही प्रामाणिक स्रोत हैं।

## बग की रिपोर्ट करना

पर issue खोलते समय [github.com/roboflow/roboflow-python](https://github.com/roboflow/roboflow-python/issues), शामिल करें:

* `roboflow.__version__`
* आप जिस Python version का उपयोग कर रहे हैं
* न्यूनतम reproduction (API key को redacted करके)
* पूरा traceback या ऊपर वर्णित verbose-logging output

जिन issues में HTTP request / response शामिल होता है, वे आमतौर पर एक ही round-trip में ठीक किए जा सकते हैं; जिनमें नहीं होता, उनमें अक्सर उन्हें जुटाने के लिए follow-up की जरूरत पड़ती है।
