Diagnostics
علامات التشخيص
تتيح لك علامات التشخيص تمكين سجلات تصحيح أخطاء موجهة دون تشغيل التسجيل المطوّل في كل مكان. العلامات اختيارية ولا يكون لها أي تأثير ما لم يتحقق منها نظام فرعي.
كيف يعمل
- العلامات سلاسل نصية (غير حساسة لحالة الأحرف).
- يمكنك تمكين العلامات في الإعدادات أو عبر تجاوز من متغير بيئة.
- أحرف البدل مدعومة:
- يطابق
telegram.*القيمةtelegram.http - يفعّل
*كل العلامات
- يطابق
التمكين عبر الإعدادات
{ "diagnostics": { "flags": ["telegram.http"] }}علامات متعددة:
{ "diagnostics": { "flags": ["telegram.http", "brave.http", "gateway.*"] }}أعد تشغيل Gateway بعد تغيير العلامات.
تجاوز متغير البيئة (لمرة واحدة)
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payloadتعطيل كل العلامات:
OPENCLAW_DIAGNOSTICS=0OPENCLAW_DIAGNOSTICS=0 هو تجاوز تعطيل على مستوى العملية: يعطّل
العلامات من كل من متغير البيئة والإعدادات لتلك العملية.
علامات التحليل الزمني
تفعّل علامات المحلّل الزمني مقاطع توقيت موجهة دون رفع مستويات التسجيل العامة. تكون معطلة افتراضيًا.
تمكين كل المقاطع المحكومة بالمحلّل الزمني لتشغيل Gateway واحد:
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway runتمكين مقاطع المحلّل الزمني لإرسال الردود فقط:
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway runتمكين مقاطع المحلّل الزمني لبدء تشغيل خادم تطبيق Codex/الأدوات/الخيوط فقط:
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway runتمكين علامات المحلّل الزمني من الإعدادات:
{ "diagnostics": { "flags": ["reply.profiler", "codex.profiler"] }}أعد تشغيل Gateway بعد تغيير علامات الإعدادات. لتعطيل علامة محلّل زمني،
أزلها من diagnostics.flags ثم أعد التشغيل. لتعطيل كل علامات
التشخيص مؤقتًا حتى عندما تفعّل الإعدادات علامات المحلّل الزمني، ابدأ العملية باستخدام:
OPENCLAW_DIAGNOSTICS=0 openclaw gateway runعناصر الجدول الزمني
تكتب علامة timeline أحداث توقيت مهيكلة لبدء التشغيل ووقت التشغيل من أجل
حزم اختبار QA الخارجية:
OPENCLAW_DIAGNOSTICS=timeline \OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \openclaw gateway runيمكنك أيضًا تمكينها في الإعدادات:
{ "diagnostics": { "flags": ["timeline"] }}ما يزال مسار ملف الجدول الزمني يأتي من
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH. عند تمكين timeline من
الإعدادات فقط، لا تصدر أقدم مقاطع تحميل الإعدادات لأن OpenClaw لم
يقرأ الإعدادات بعد؛ وتستخدم مقاطع بدء التشغيل اللاحقة علامة الإعدادات.
OPENCLAW_DIAGNOSTICS=1 وOPENCLAW_DIAGNOSTICS=all و
OPENCLAW_DIAGNOSTICS=* تفعّل الجدول الزمني أيضًا لأنها تفعّل كل
علامات التشخيص. فضّل timeline عندما تريد عنصر توقيت JSONL
فقط.
تستخدم سجلات الجدول الزمني غلاف openclaw.diagnostics.v1. يمكن أن تتضمن الأحداث
معرّفات العمليات، وأسماء المراحل، وأسماء المقاطع، والمدد، ومعرّفات Plugin، وأعداد التبعيات،
وعينات تأخر حلقة الأحداث، وأسماء عمليات المزوّد، وحالة خروج العملية الفرعية،
وأسماء/رسائل أخطاء بدء التشغيل. تعامل مع ملفات الجدول الزمني على أنها
عناصر تشخيص محلية؛ راجعها قبل مشاركتها خارج جهازك.
أين تذهب السجلات
تصدر العلامات السجلات إلى ملف سجل التشخيص القياسي. افتراضيًا:
/tmp/openclaw/openclaw-YYYY-MM-DD.logإذا ضبطت logging.file، فاستخدم ذلك المسار بدلًا من ذلك. السجلات بصيغة JSONL (كائن JSON واحد في كل سطر). ما يزال التنقيح مطبقًا بناءً على logging.redactSensitive.
استخراج السجلات
اختر أحدث ملف سجل:
ls -t /tmp/openclaw/openclaw-*.log | head -n 1التصفية لتشخيصات Telegram HTTP:
rg "telegram http error" /tmp/openclaw/openclaw-*.logالتصفية لتشخيصات Brave Search HTTP:
rg "brave http" /tmp/openclaw/openclaw-*.logأو تابع السجل أثناء إعادة إنتاج المشكلة:
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"بالنسبة إلى Gateways البعيدة، يمكنك أيضًا استخدام openclaw logs --follow (راجع /cli/logs).
ملاحظات
- إذا كان
logging.levelمضبوطًا على مستوى أعلى منwarn، فقد تُحجب هذه السجلات. القيمة الافتراضيةinfoمناسبة. - تسجل
brave.httpعناوين URL/معلمات الاستعلام لطلبات Brave Search، وحالة/توقيت الاستجابة، وأحداث إصابة/فوات/كتابة الذاكرة المخبئية. لا تسجل مفاتيح API أو أجسام الاستجابات، لكن استعلامات البحث قد تكون حساسة. - من الآمن ترك العلامات مفعّلة؛ فهي لا تؤثر إلا في حجم السجل للنظام الفرعي المحدد.
- استخدم /logging لتغيير وجهات السجلات ومستوياتها والتنقيح.