Gateway

ثبت رویداد Gateway

گزارش‌گیری

برای نمای کلی ویژهٔ کاربر (CLI + رابط کاربری کنترل + پیکربندی)، به /logging مراجعه کنید.

OpenClaw دو سطح گزارش دارد:

  • خروجی کنسول - آنچه در ترمینال / رابط کاربری اشکال‌زدایی می‌بینید.
  • گزارش‌های فایل - خطوط JSON که گزارش‌گیر Gateway می‌نویسد.

هنگام راه‌اندازی، Gateway مدل پیش‌فرض حل‌شدهٔ عامل و همچنین پیش‌فرض‌های حالت را که بر نشست‌های جدید اثر می‌گذارند، ثبت می‌کند:

text
agent model: openai/gpt-5.6-sol (thinking=medium, fast=on)

thinking از عامل پیش‌فرض، پارامترهای مدل، یا پیش‌فرض سراسری عامل می‌آید؛ اگر تنظیم نشده باشد، medium نمایش داده می‌شود. fast از عامل پیش‌فرض یا پارامترهای fastMode مدل می‌آید.

گزارش‌گیر مبتنی بر فایل

  • فایل گزارش چرخشی پیش‌فرض در /tmp/openclaw/ قرار دارد (یک فایل برای هر روز): openclaw-YYYY-MM-DD.log، با تاریخ‌گذاری بر اساس منطقهٔ زمانی محلی میزبان Gateway. اگر آن پوشه ناامن یا غیرقابل‌نوشتن باشد (مالک نادرست، قابل‌نوشتن برای همه، یا پیوند نمادین)، OpenClaw در عوض به مسیر محدوده‌بندی‌شده برای کاربر یعنی os.tmpdir()/openclaw-<uid> برمی‌گردد؛ در Windows همیشه از همین مسیر جایگزین پوشهٔ موقت سیستم‌عامل استفاده می‌کند.
  • فایل‌های گزارش فعال در logging.maxFileBytes (پیش‌فرض: ۱۰۰ مگابایت) چرخش می‌کنند، حداکثر پنج بایگانی شماره‌گذاری‌شده (.1 تا .5) نگه داشته می‌شود و نوشتن در یک فایل فعال تازه ادامه می‌یابد.
  • مسیر و سطح فایل گزارش را از طریق ~/.openclaw/openclaw.json پیکربندی کنید: logging.file، logging.level.
  • قالب فایل، یک شیء JSON در هر خط است.

مسیرهای کد گفت‌وگو، صدای بلادرنگ، و اتاق مدیریت‌شده از گزارش‌گیر فایل مشترک برای رکوردهای محدود چرخهٔ حیات استفاده می‌کنند که برای اشکال‌زدایی عملیاتی و صدور گزارش OTLP در نظر گرفته شده‌اند. متن رونوشت، بارهای صوتی، شناسه‌های نوبت، شناسه‌های تماس، و شناسه‌های آیتم ارائه‌دهنده هرگز در رکورد گزارش کپی نمی‌شوند.

زبانهٔ گزارش‌ها در رابط کاربری کنترل، این فایل را از طریق Gateway (logs.tail) دنبال می‌کند. CLI نیز همین کار را انجام می‌دهد:

bash
openclaw logs --follow

حالت پرجزئیات در برابر سطوح گزارش

  • گزارش‌های فایل منحصراً توسط logging.level کنترل می‌شوند.
  • --verbose فقط بر جزئیات کنسول (و سبک گزارش WS) اثر می‌گذارد - سطح گزارش فایل را افزایش نمی‌دهد.
  • برای ثبت جزئیاتی که فقط در حالت پرجزئیات ارائه می‌شوند در گزارش‌های فایل، logging.level را روی debug یا trace تنظیم کنید.
  • گزارش‌گیری ردیابی همچنین شامل خلاصه‌های زمان‌بندی تشخیصی برای برخی مسیرهای پرتکرار منتخب، مانند آماده‌سازی کارخانهٔ ابزار Plugin، است. به /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.redactSensitive: off | tools (پیش‌فرض: tools)
  • logging.redactPatterns: آرایه‌ای از رشته‌های عبارت منظم (پیش‌فرض‌ها را بازنویسی می‌کند)
    • از رشته‌های خام عبارت منظم (gi خودکار)، یا از /pattern/flags برای پرچم‌های سفارشی استفاده کنید.
    • تطبیق‌ها با حفظ ۶ نویسهٔ نخست + ۴ نویسهٔ آخر پوشانده می‌شوند (برای مقادیر با طول حداقل ۱۸ نویسه)؛ مقادیر کوتاه‌تر به *** تبدیل می‌شوند.
    • پیش‌فرض‌ها انتساب‌های رایج کلید، پرچم‌های CLI، فیلدهای JSON، سرآیندهای bearer، بلوک‌های PEM، پیشوندهای رایج توکن فروشندگان، و نام فیلدهای اعتبار پرداخت (شمارهٔ کارت، CVC/CVV، توکن پرداخت مشترک، اعتبار پرداخت) را پوشش می‌دهند.

برخی مرزهای ایمنی، صرف‌نظر از logging.redactSensitive، همیشه اطلاعات حساس را می‌پوشانند: رویدادهای فراخوانی ابزار در رابط کاربری کنترل، خروجی ابزار sessions_history، صدور پشتیبانی تشخیصی، مشاهده‌های خطای ارائه‌دهنده، نمایش فرمان تأیید exec، و گزارش‌های پروتکل WebSocket در Gateway. این سطوح همچنان logging.redactPatterns را به‌عنوان الگوهای اضافی رعایت می‌کنند، اما redactSensitive: "off" باعث نمی‌شود اسرار خام را منتشر کنند.

گزارش‌های 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
# 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_PROGRAMNO_COLOR و FORCE_COLOR رعایت می‌شوند.
  • پیشوندهای کوتاه‌شدهٔ زیرسامانه: بخش آغازین gateway/، channels/، یا providers/ حذف می‌شود، سپس حداکثر ۲ بخش پایانی باقی‌مانده حفظ می‌شوند (برای مثال channels/turn/kernel به‌صورت turn/kernel نمایش داده می‌شود). زیرسامانه‌های شناخته‌شدهٔ کانال (telegram، whatsapp، slack و غیره) همیشه فقط به نام کانال خلاصه می‌شوند.
  • زیرگزارش‌گیرها بر اساس زیرسامانه (پیشوند خودکار + فیلد ساختاریافتهٔ { subsystem }).
  • logRaw() برای خروجی QR/تجربهٔ کاربری (بدون پیشوند و بدون قالب‌بندی).
  • سبک‌های کنسول: pretty | compact | json.
  • سطح گزارش کنسول از سطح گزارش فایل جدا است (وقتی logging.level برابر debug/trace باشد، فایل جزئیات کامل را نگه می‌دارد).
  • بدنهٔ پیام‌های WhatsApp در سطح debug ثبت می‌شود (برای دیدن آن‌ها از --verbose استفاده کنید).

این کار گزارش‌های فایل را پایدار نگه می‌دارد و در عین حال خروجی تعاملی را قابل‌مرور می‌کند.

مرتبط

Was this useful?
On this page

On this page