Ana içeriğe atla
Tanılama bayrakları, her yerde ayrıntılı günlüklemeyi açmadan hedefli hata ayıklama günlüklerini etkinleştirmenizi sağlar. Bayraklar isteğe bağlıdır ve bir alt sistem onları denetlemediği sürece etkili olmaz.

Nasıl çalışır

  • Bayraklar dizelerdir (büyük/küçük harfe duyarsız).
  • Bayrakları yapılandırmada veya bir ortam geçersiz kılmasıyla etkinleştirebilirsiniz.
  • Joker karakterler desteklenir:
    • telegram.*, telegram.http ile eşleşir
    • * tüm bayrakları etkinleştirir

Yapılandırma üzerinden etkinleştirme

{
  "diagnostics": {
    "flags": ["telegram.http"]
  }
}
Birden çok bayrak:
{
  "diagnostics": {
    "flags": ["telegram.http", "brave.http", "gateway.*"]
  }
}
Bayrakları değiştirdikten sonra Gateway’i yeniden başlatın.

Ortam geçersiz kılması (tek seferlik)

OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload
Tüm bayrakları devre dışı bırakın:
OPENCLAW_DIAGNOSTICS=0
OPENCLAW_DIAGNOSTICS=0, süreç düzeyinde bir devre dışı bırakma geçersiz kılmasıdır: o süreç için hem ortamdan hem de yapılandırmadan gelen bayrakları devre dışı bırakır.

Profil oluşturma bayrakları

Profil oluşturucu bayrakları, genel günlükleme düzeylerini yükseltmeden hedefli zamanlama aralıklarını etkinleştirir. Varsayılan olarak devre dışıdırlar. Tek bir Gateway çalıştırması için profil oluşturucu tarafından denetlenen tüm aralıkları etkinleştirin:
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway run
Yalnızca yanıt gönderimi profil oluşturucu aralıklarını etkinleştirin:
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway run
Yalnızca Codex uygulama sunucusu başlatma/araç/iş parçacığı profil oluşturucu aralıklarını etkinleştirin:
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway run
Profil oluşturucu bayraklarını yapılandırmadan etkinleştirin:
{
  "diagnostics": {
    "flags": ["reply.profiler", "codex.profiler"]
  }
}
Yapılandırma bayraklarını değiştirdikten sonra Gateway’i yeniden başlatın. Bir profil oluşturucu bayrağını devre dışı bırakmak için onu diagnostics.flags içinden kaldırın ve yeniden başlatın. Yapılandırma profil oluşturucu bayraklarını etkinleştirmiş olsa bile tüm tanılama bayraklarını geçici olarak devre dışı bırakmak için süreci şu şekilde başlatın:
OPENCLAW_DIAGNOSTICS=0 openclaw gateway run

Zaman çizelgesi yapıtları

timeline bayrağı, harici QA test altyapıları için yapılandırılmış başlatma ve çalışma zamanı zamanlama olayları yazar:
OPENCLAW_DIAGNOSTICS=timeline \
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \
openclaw gateway run
Bunu yapılandırmada da etkinleştirebilirsiniz:
{
  "diagnostics": {
    "flags": ["timeline"]
  }
}
Zaman çizelgesi dosya yolu yine OPENCLAW_DIAGNOSTICS_TIMELINE_PATH üzerinden gelir. timeline yalnızca yapılandırmadan etkinleştirildiğinde, OpenClaw yapılandırmayı henüz okumamış olduğu için en erken yapılandırma yükleme aralıkları yayılmaz; sonraki başlatma aralıkları yapılandırma bayrağını kullanır. OPENCLAW_DIAGNOSTICS=1, OPENCLAW_DIAGNOSTICS=all ve OPENCLAW_DIAGNOSTICS=* de tüm tanılama bayraklarını etkinleştirdikleri için zaman çizelgesini etkinleştirir. Yalnızca JSONL zamanlama yapıtını istiyorsanız timeline tercih edin. Zaman çizelgesi kayıtları openclaw.diagnostics.v1 zarfını kullanır. Olaylar süreç kimliklerini, aşama adlarını, aralık adlarını, süreleri, Plugin kimliklerini, bağımlılık sayılarını, olay döngüsü gecikme örneklerini, sağlayıcı işlem adlarını, alt süreç çıkış durumunu ve başlatma hatası adlarını/iletilerini içerebilir. Zaman çizelgesi dosyalarını yerel tanılama yapıtları olarak ele alın; makinenizin dışında paylaşmadan önce gözden geçirin.

Günlükler nereye gider

Bayraklar günlükleri standart tanılama günlük dosyasına yayar. Varsayılan olarak:
/tmp/openclaw/openclaw-YYYY-MM-DD.log
logging.file ayarlarsanız bunun yerine o yolu kullanın. Günlükler JSONL biçimindedir (satır başına bir JSON nesnesi). Redaksiyon yine logging.redactSensitive temelinde uygulanır.

Günlükleri çıkarma

En son günlük dosyasını seçin:
ls -t /tmp/openclaw/openclaw-*.log | head -n 1
Telegram HTTP tanılamaları için filtreleyin:
rg "telegram http error" /tmp/openclaw/openclaw-*.log
Brave Search HTTP tanılamaları için filtreleyin:
rg "brave http" /tmp/openclaw/openclaw-*.log
Veya yeniden üretirken takip edin:
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"
Uzak Gateway’ler için openclaw logs --follow komutunu da kullanabilirsiniz (bkz. /cli/logs).

Notlar

  • logging.level, warn değerinden daha yüksek ayarlanırsa bu günlükler bastırılabilir. Varsayılan info uygundur.
  • brave.http, Brave Search istek URL’lerini/sorgu parametrelerini, yanıt durumunu/zamanlamasını ve önbellek isabet/kaçırma/yazma olaylarını günlüğe kaydeder. API anahtarlarını veya yanıt gövdelerini günlüğe kaydetmez, ancak arama sorguları hassas olabilir.
  • Bayrakları etkin bırakmak güvenlidir; yalnızca belirli alt sistem için günlük hacmini etkilerler.
  • Günlük hedeflerini, düzeylerini ve redaksiyonu değiştirmek için /logging kullanın.

İlgili