Gateway
ثبت رویداد Gateway
گزارشگیری
برای نمای کلی ویژهٔ کاربر (CLI + رابط کاربری کنترل + پیکربندی)، به /logging مراجعه کنید.
OpenClaw دو سطح گزارش دارد:
- خروجی کنسول - آنچه در ترمینال / رابط کاربری اشکالزدایی میبینید.
- گزارشهای فایل - خطوط JSON که گزارشگیر Gateway مینویسد.
هنگام راهاندازی، Gateway مدل پیشفرض حلشدهٔ عامل و همچنین پیشفرضهای حالت را که بر نشستهای جدید اثر میگذارند، ثبت میکند:
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 نیز همین کار را انجام میدهد:
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.
# 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و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استفاده کنید).
این کار گزارشهای فایل را پایدار نگه میدارد و در عین حال خروجی تعاملی را قابلمرور میکند.