لاگنگ¶
صارف کے لیے جامع جائزہ (CLI + کنٹرول UI + کنفیگ) کے لیے /logging دیکھیں۔
OpenClaw میں لاگز کی دو “سطحیں” ہیں:
- کنسول آؤٹ پٹ (جو آپ ٹرمینل / Debug UI میں دیکھتے ہیں)۔
- فائل لاگز (JSON لائنیں) جو gateway logger کے ذریعے لکھی جاتی ہیں۔
فائل پر مبنی logger¶
- بطورِ طے شدہ رولنگ لاگ فائل
/tmp/openclaw/کے تحت ہوتی ہے (ہر دن کے لیے ایک فائل):openclaw-YYYY-MM-DD.log - تاریخ gateway ہوسٹ کے مقامی ٹائم زون کے مطابق ہوتی ہے۔
- لاگ فائل کا راستہ اور لیول
~/.openclaw/openclaw.jsonکے ذریعے کنفیگر کیے جا سکتے ہیں: logging.filelogging.level
فائل کا فارمیٹ ہر لائن پر ایک JSON آبجیکٹ ہوتا ہے۔
- کنٹرول UI کے Logs ٹیب میں گیٹ وے کے ذریعے اس فائل کو ٹیل کیا جاتا ہے (
logs.tail)۔ - CLI بھی یہی کر سکتا ہے:
openclaw logs --follow
Verbose بمقابلہ لاگ لیولز
- فائل لاگز مکمل طور پر
logging.levelکے ذریعے کنٹرول ہوتے ہیں۔ --verboseصرف کنسول verbosity (اور WS لاگ اسٹائل) کو متاثر کرتا ہے؛ یہ فائل لاگ لیول کو بڑھاتا نہیں۔- verbose-only تفصیلات کو فائل لاگز میں محفوظ کرنے کے لیے،
logging.levelکوdebugیاtraceپر سیٹ کریں۔
کنسول کیپچر¶
CLI، console.log/info/warn/error/debug/trace کو کیپچر کرتا ہے اور انہیں فائل لاگز میں لکھتا ہے،
جبکہ stdout/stderr پر پرنٹ بھی جاری رکھتا ہے۔
آپ کنسول verbosity کو الگ سے درج ذیل کے ذریعے ایڈجسٹ کر سکتے ہیں:
logging.consoleLevel(بطورِ طے شدہinfo)logging.consoleStyle(pretty|compact|json)
ٹول سمری ریڈیکشن¶
- تفصیلی ٹول سمریز (مثلاً
🛠️ Exec: ...) کنسول اسٹریم تک پہنچنے سے پہلے حساس ٹوکنز کو ماسک کر سکتی ہیں۔ 33. یہ صرف ٹولز کے لیے ہے اور فائل لاگز میں تبدیلی نہیں کرتا۔
logging.redactSensitive:off|tools(بطورِ طے شدہ:tools)logging.redactPatterns: regex اسٹرنگز کی array (ڈیفالٹس کو اووررائیڈ کرتی ہے)- خام regex اسٹرنگز استعمال کریں (خودکار
gi)، یا اگر کسٹم flags درکار ہوں تو/pattern/flags۔ - میچز کو پہلے 6 + آخری 4 حروف برقرار رکھ کر ماسک کیا جاتا ہے (لمبائی >= 18)، ورنہ
***۔ - ڈیفالٹس عام key assignments، CLI flags، JSON فیلڈز، bearer headers، PEM blocks، اور مقبول ٹوکن prefixes کا احاطہ کرتے ہیں۔
Gateway WebSocket لاگز¶
gateway، WebSocket پروٹوکول لاگز کو دو موڈز میں پرنٹ کرتا ہے:
- نارمل موڈ (بغیر
--verbose): صرف “دلچسپ” RPC نتائج پرنٹ ہوتے ہیں: - غلطیاں (
ok=false) - سست کالز (بطورِ طے شدہ حد:
>= 50ms) - پارس کی غلطیاں
- Verbose موڈ (
--verbose): تمام WS درخواست/جواب ٹریفک پرنٹ کرتا ہے۔
WS لاگ اسٹائل¶
openclaw gateway ہر gateway کے لیے اسٹائل سوئچ کی سہولت دیتا ہے:
--ws-log auto(بطورِ طے شدہ): نارمل موڈ آپٹمائزڈ؛ verbose موڈ میں کمپیکٹ آؤٹ پٹ--ws-log compact: verbose میں کمپیکٹ آؤٹ پٹ (جوڑی شدہ درخواست/جواب)--ws-log full: verbose میں مکمل فی-فریم آؤٹ پٹ--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-aware ہے اور یکساں، پری فکسڈ لائنیں پرنٹ کرتا ہے۔
- سب سسٹم لاگرز آؤٹ پٹ کو گروپ میں اور اسکین کے قابل رکھتے ہیں۔
رویّہ:
- ہر لائن پر سب سسٹم prefixes (مثلاً
[gateway],[canvas],[tailscale]) - سب سسٹم رنگ (ہر سب سسٹم کے لیے مستقل) اور لیول کلرنگ
- جب آؤٹ پٹ TTY ہو یا ماحول ایک بھرپور ٹرمینل جیسا ہو تو رنگ (
TERM/COLORTERM/TERM_PROGRAM)،NO_COLORکا احترام - مختصر کیے گئے سب سسٹم prefixes: ابتدائی
gateway/+channels/کو ہٹا کر آخری 2 حصے رکھتا ہے (مثلاًwhatsapp/outbound) - سب سسٹم کے لحاظ سے سب-لاگرز (خودکار prefix + ساختی فیلڈ
{ subsystem }) - QR/UX آؤٹ پٹ کے لیے
logRaw()(نہ prefix، نہ فارمیٹنگ) - کنسول اسٹائلز (مثلاً
pretty | compact | json) - کنسول لاگ لیول فائل لاگ لیول سے الگ (جب
logging.levelکوdebug/traceپر سیٹ کیا جائے تو فائل مکمل تفصیل رکھتی ہے) - WhatsApp پیغام کے متن
debugپر لاگ ہوتے ہیں (انہیں دیکھنے کے لیے--verboseاستعمال کریں)
یہ طریقہ موجودہ فائل لاگز کو مستحکم رکھتا ہے جبکہ انٹرایکٹو آؤٹ پٹ کو پڑھنے میں آسان بناتا ہے۔