> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# التسجيل

# التسجيل

للحصول على نظرة عامة موجهة للمستخدم (CLI + واجهة التحكم + التهيئة)، راجع [/logging](/logging).

يحتوي OpenClaw على «سطحين» للتسجيل:

* **مخرجات وحدة التحكم** (ما تراه في الطرفية / واجهة التصحيح).
* **سجلات الملفات** (أسطر JSON) التي يكتبها مسجل Gateway.

## المسجل القائم على الملفات

* ملف السجل الدوّار الافتراضي موجود ضمن `/tmp/openclaw/` (ملف واحد لكل يوم): `openclaw-YYYY-MM-DD.log`
  * يستخدم التاريخ المنطقة الزمنية المحلية لمضيف Gateway.
* يمكن تهيئة مسار ملف السجل ومستوى التسجيل عبر `~/.openclaw/openclaw.json`:
  * `logging.file`
  * `logging.level`

تنسيق الملف هو كائن JSON واحد لكل سطر.

تقوم علامة «Logs» في واجهة التحكم بمتابعة هذا الملف عبر Gateway (`logs.tail`).
ويمكن لـ CLI القيام بالأمر نفسه:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw logs --follow
```

**التفصيل مقابل مستويات السجل**

* **سجلات الملفات** يتم التحكم بها حصريًا عبر `logging.level`.
* يؤثر `--verbose` فقط على **تفصيل وحدة التحكم** (ونمط سجل WS)؛ ولا يقوم
  برفع مستوى سجل الملفات.
* لالتقاط تفاصيل «التفصيل فقط» ضمن سجلات الملفات، اضبط `logging.level` على `debug` أو
  `trace`.

## التقاط وحدة التحكم

يلتقط CLI `console.log/info/warn/error/debug/trace` ويكتبها إلى سجلات الملفات،
مع الاستمرار في الطباعة إلى stdout/stderr.

يمكنك ضبط تفصيل وحدة التحكم بشكل مستقل عبر:

* `logging.consoleLevel` (الافتراضي `info`)
* `logging.consoleStyle` (`pretty` | `compact` | `json`)

## تنقيح ملخصات الأدوات

يمكن لملخصات الأدوات التفصيلية (مثل `🛠️ Exec: ...`) إخفاء الرموز الحساسة قبل وصولها إلى
تدفق وحدة التحكم. هذا **خاص بالأدوات فقط** ولا يغيّر سجلات الملفات.

* `logging.redactSensitive`: `off` | `tools` (الافتراضي: `tools`)
* `logging.redactPatterns`: مصفوفة من سلاسل regex (تتجاوز القيم الافتراضية)
  * استخدم سلاسل regex الخام (تلقائيًا `gi`)، أو `/pattern/flags` إذا كنت بحاجة إلى أعلام مخصصة.
  * يتم إخفاء المطابقات بالإبقاء على أول 6 + آخر 4 أحرف (عندما يكون الطول >= 18)، وإلا فسيتم `***`.
  * تغطي الإعدادات الافتراضية تعيينات المفاتيح الشائعة، وأعلام CLI، وحقول JSON، ورؤوس bearer، وكتل PEM، وبوادئ الرموز الشائعة.

## سجلات WebSocket الخاصة بـ Gateway

يطبع 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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
# optimized (only errors/slow)
openclaw gateway

# show all WS traffic (paired)
openclaw gateway --verbose --ws-log compact

# show all WS traffic (full meta)
openclaw gateway --verbose --ws-log full
```

## تنسيق وحدة التحكم (تسجيل الأنظمة الفرعية)

مُنسّق وحدة التحكم **واعٍ بـ TTY** ويطبع أسطر متسقة مع بادئات.
تحافظ مسجلات الأنظمة الفرعية على تجميع المخرجات وقابليتها للمسح.

السلوك:

* **بادئات الأنظمة الفرعية** في كل سطر (مثل `[gateway]`، `[canvas]`، `[tailscale]`)
* **ألوان الأنظمة الفرعية** (ثابتة لكل نظام فرعي) بالإضافة إلى تلوين المستوى
* **التلوين عندما تكون المخرجات TTY أو عندما تبدو البيئة كطرفية غنية** (`TERM`/`COLORTERM`/`TERM_PROGRAM`)، مع احترام `NO_COLOR`
* **اختصار بادئات الأنظمة الفرعية**: إسقاط `gateway/` + `channels/` في البداية، والإبقاء على آخر مقطعين (مثل `whatsapp/outbound`)
* **مسجلات فرعية حسب النظام الفرعي** (بادئة تلقائية + حقل مُهيكل `{ subsystem }`)
* **`logRaw()`** لمخرجات QR/UX (بدون بادئة، بدون تنسيق)
* **أنماط وحدة التحكم** (مثل `pretty | compact | json`)
* **مستوى سجل وحدة التحكم** منفصل عن مستوى سجل الملفات (تحافظ الملفات على كامل التفاصيل عندما يكون `logging.level` مضبوطًا على `debug`/`trace`)
* **أجسام رسائل WhatsApp** تُسجَّل عند `debug` (استخدم `--verbose` لرؤيتها)

يحافظ ذلك على استقرار سجلات الملفات الحالية مع جعل المخرجات التفاعلية قابلة للمسح.
