Gateway

Gateway günlük kaydı

Günlükleme

Kullanıcıya yönelik genel bakış (CLI + Control UI + yapılandırma) için bkz. /logging.

OpenClaw'ın iki günlük "yüzeyi" vardır:

  • Konsol çıktısı (terminalde / Debug UI'da gördüğünüz şey).
  • Gateway günlükleyicisi tarafından yazılan dosya günlükleri (JSON satırları).

Başlangıçta Gateway, çözümlenen varsayılan aracı modelini yeni oturumları etkileyen mod varsayılanlarıyla birlikte günlüğe yazar, örneğin:

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

thinking, varsayılan aracıdan, model parametrelerinden veya genel aracı varsayılanından gelir; ayarlanmadığında başlangıç özeti medium gösterir. fast, varsayılan aracıdan veya model fastMode parametrelerinden gelir.

Dosya tabanlı günlükleyici

  • Varsayılan dönen günlük dosyası /tmp/openclaw/ altındadır (günde bir dosya): openclaw-YYYY-MM-DD.log
    • Tarih, gateway ana makinesinin yerel saat dilimini kullanır.
  • Etkin günlük dosyaları logging.maxFileBytes değerinde döner (varsayılan: 100 MB), en fazla beş numaralı arşiv tutulur ve yeni bir etkin dosyaya yazmaya devam edilir.
  • Günlük dosyası yolu ve seviyesi ~/.openclaw/openclaw.json üzerinden yapılandırılabilir:
    • logging.file
    • logging.level

Dosya biçimi satır başına bir JSON nesnesidir.

Konuşma, gerçek zamanlı ses ve yönetilen oda kod yolları, sınırlı yaşam döngüsü kayıtları için paylaşılan dosya günlükleyicisini kullanır. Bu kayıtlar operasyonel hata ayıklama ve OTLP günlük dışa aktarımı için tasarlanmıştır; transkript metni, ses yükleri, tur kimlikleri, çağrı kimlikleri ve sağlayıcı öğe kimlikleri günlük kaydına kopyalanmaz.

Control UI Günlükler sekmesi bu dosyayı gateway üzerinden takip eder (logs.tail). CLI da aynısını yapabilir:

bash
openclaw logs --follow

Ayrıntılılık ve günlük seviyeleri

  • Dosya günlükleri yalnızca logging.level tarafından denetlenir.
  • --verbose yalnızca konsol ayrıntılılığını (ve WS günlük stilini) etkiler; dosya günlük seviyesini yükseltmez.
  • Yalnızca ayrıntılı modda görünen ayrıntıları dosya günlüklerinde yakalamak için logging.level değerini debug veya trace olarak ayarlayın.
  • Trace günlükleme, Plugin araç fabrikası hazırlığı gibi seçili sıcak yollar için tanılama zamanlama özetlerini de içerir. Bkz. /tools/plugin#slow-plugin-tool-setup.

Konsol yakalama

CLI console.log/info/warn/error/debug/trace çağrılarını yakalar ve bunları dosya günlüklerine yazar, bu sırada stdout/stderr'e yazdırmaya devam eder.

Konsol ayrıntılılığını bağımsız olarak şu değerlerle ayarlayabilirsiniz:

  • logging.consoleLevel (varsayılan info)
  • logging.consoleStyle (pretty | compact | json)

Gizleme

OpenClaw, günlük veya transkript çıktısı süreç dışına çıkmadan önce hassas belirteçleri maskeleyebilir. Bu günlük gizleme ilkesi konsol, dosya günlüğü, OTLP günlük kaydı ve oturum transkripti metin alıcılarına uygulanır; böylece eşleşen gizli değerler JSONL satırları veya iletiler diske yazılmadan önce maskelenir.

  • logging.redactSensitive: off | tools (varsayılan: tools)
  • logging.redactPatterns: regex dizgilerinden oluşan dizi (varsayılanları geçersiz kılar)
    • Ham regex dizgileri kullanın (otomatik gi) veya özel bayraklara ihtiyacınız varsa /pattern/flags kullanın.
    • Eşleşmeler ilk 6 + son 4 karakter korunarak maskelenir (uzunluk >= 18), aksi halde ***.
    • Varsayılanlar yaygın anahtar atamalarını, CLI bayraklarını, JSON alanlarını, bearer üstbilgilerini, PEM bloklarını, popüler belirteç öneklerini ve kart numarası, CVC/CVV, paylaşılan ödeme belirteci ve ödeme kimlik bilgisi gibi ödeme kimlik bilgisi alan adlarını kapsar.

Bazı güvenlik sınırları logging.redactSensitive değerinden bağımsız olarak her zaman gizleme yapar. Buna Control UI araç çağrısı olayları, sessions_history araç çıktısı, tanılama destek dışa aktarımları, sağlayıcı hata gözlemleri, exec onayı komut gösterimi ve Gateway WebSocket protokol günlükleri dahildir. Bu yüzeyler ek desenler olarak logging.redactPatterns kullanmaya devam edebilir, ancak redactSensitive: "off" ham gizli bilgilerin yayılmasına neden olmaz.

Gateway WebSocket günlükleri

Gateway, WebSocket protokol günlüklerini iki modda yazdırır:

  • Normal mod (--verbose yok): yalnızca "ilginç" RPC sonuçları yazdırılır:
    • hatalar (ok=false)
    • yavaş çağrılar (varsayılan eşik: >= 50ms)
    • ayrıştırma hataları
  • Ayrıntılı mod (--verbose): tüm WS istek/yanıt trafiğini yazdırır.

WS günlük stili

openclaw gateway, gateway başına bir stil anahtarını destekler:

  • --ws-log auto (varsayılan): normal mod optimize edilmiştir; ayrıntılı mod kompakt çıktı kullanır
  • --ws-log compact: ayrıntılı modda kompakt çıktı (eşleştirilmiş istek/yanıt)
  • --ws-log full: ayrıntılı modda kare başına tam çıktı
  • --compact: --ws-log compact için takma ad

Örnekler:

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

Konsol biçimlendirme (alt sistem günlükleme)

Konsol biçimlendiricisi TTY farkındadır ve tutarlı, önekli satırlar yazdırır. Alt sistem günlükleyicileri çıktıyı gruplanmış ve taranabilir tutar.

Davranış:

  • Her satırda alt sistem önekleri (örn. [gateway], [canvas], [tailscale])
  • Alt sistem renkleri (alt sistem başına kararlı) ve seviye renklendirmesi
  • Çıktı TTY olduğunda veya ortam zengin terminal gibi göründüğünde renk (TERM/COLORTERM/TERM_PROGRAM), NO_COLOR değerine uyar
  • Kısaltılmış alt sistem önekleri: baştaki gateway/ + channels/ bölümlerini düşürür, son 2 segmenti tutar (örn. whatsapp/outbound)
  • Alt sisteme göre alt günlükleyiciler (otomatik önek + yapılandırılmış alan { subsystem })
  • QR/UX çıktısı için logRaw() (önek yok, biçimlendirme yok)
  • Konsol stilleri (örn. pretty | compact | json)
  • Dosya günlük seviyesinden ayrı konsol günlük seviyesi (logging.level debug/trace olarak ayarlandığında dosya tam ayrıntıyı tutar)
  • WhatsApp ileti gövdeleri debug seviyesinde günlüğe yazılır (bunları görmek için --verbose kullanın)

Bu, etkileşimli çıktıyı taranabilir hale getirirken mevcut dosya günlüklerini kararlı tutar.

İlgili

Was this useful?
On this page

On this page