Diagnostics
Tanılama bayrakları
Tanılama bayrakları, genel olarak logging.level düzeyini yükseltmeden tek bir alt sistem için ek günlük kaydını etkinleştirir. Bir alt sistem bayrağı denetlemediği sürece bayrağın hiçbir etkisi olmaz.
Nasıl çalışır?
- Bayraklar büyük/küçük harfe duyarlı olmayan dizelerdir; yapılandırmadaki
diagnostics.flagsileOPENCLAW_DIAGNOSTICSortam değişkeni geçersiz kılmasından çözümlenir, yinelenenler kaldırılır ve küçük harfe dönüştürülür. name.*, doğrudannameile vename.altındaki her şeyle eşleşir (örneğintelegram.*,telegram.httpile eşleşir).*veyaalltüm bayrakları etkinleştirir.- Yapılandırmadaki
diagnostics.flagsdeğiştirildikten sonra Gateway'i yeniden başlatın; bu ayar çalışırken yeniden yüklenmez.
Bilinen bayraklar
| Bayrak | Etkinleştirdiği özellikler |
|---|---|
telegram.http |
Telegram Bot API HTTP hata günlükleri |
brave.http |
Brave Search istek/yanıt/önbellek günlükleri |
profiler |
Yanıt aşaması profil oluşturucusu ve Codex uygulama sunucusu profil oluşturucusu (ikisi de) |
reply.profiler |
Yalnızca yanıt aşaması profil oluşturucusu |
codex.profiler |
Yalnızca Codex uygulama sunucusu profil oluşturucusu |
health |
Gateway sistem durumu yoklaması/hesap/bağlama hata ayıklama ayrıntıları |
ingress.timing |
Oturum yükleme, model seçimi ve model kataloğu zamanlamaları |
plugin.load-profile |
Eşzamanlı Plugin modülü yükleme zamanlamaları |
timeline |
Yapılandırılmış JSONL zaman çizelgesi yapıtı (aşağıya bakın) |
Yapılandırma aracılığıyla etkinleştirme
{ "diagnostics": { "flags": ["telegram.http"] }}Birden fazla bayrak:
{ "diagnostics": { "flags": ["telegram.http", "brave.http", "gateway.*"] }}Ortam değişkeniyle geçersiz kılma (tek seferlik)
OPENCLAW_DIAGNOSTICS=telegram.http,brave.httpDeğerler virgül veya boşluklardan bölünür. Özel değerler:
| Değer | Etki |
|---|---|
0, false, off, none |
Yapılandırmayı da geçersiz kılarak tüm bayrakları devre dışı bırakır |
1, true, all, * |
Tüm bayrakları etkinleştirir |
OPENCLAW_DIAGNOSTICS=0, söz konusu işlem için hem ortam değişkenindeki hem de yapılandırmadaki bayrakları devre dışı bırakır;
bu, yapılandırmada açık bırakılmış bir profil oluşturucu bayrağını dosyayı
düzenlemeden geçici olarak susturmak için kullanışlıdır.
Profil oluşturucu bayrakları
Profil oluşturucu bayrakları, hafif zamanlama aralıklarını denetler; kapalı olduklarında ek yük oluşturmazlar.
Bir Gateway çalıştırması için profil oluşturucu tarafından denetlenen tüm aralıkları etkinleştirin:
OPENCLAW_DIAGNOSTICS=profiler openclaw gateway runYalnızca yanıt gönderimi profil oluşturucu aralıklarını etkinleştirin:
OPENCLAW_DIAGNOSTICS=reply.profiler openclaw gateway runYalnızca Codex uygulama sunucusunun başlatma/araç/iş parçacığı profil oluşturucu aralıklarını etkinleştirin:
OPENCLAW_DIAGNOSTICS=codex.profiler openclaw gateway runprofiler, hem yanıt profil oluşturucusunu hem de Codex profil oluşturucusunu etkinleştirir; yalnızca birini
etkinleştirmek için kapsamlı bayrak adlarını kullanın.
Alternatif olarak yapılandırmada ayarlayın:
{ "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
bayrağı diagnostics.flags içinden kaldırıp yeniden başlatın veya söz konusu çalıştırmada
tüm tanılama bayraklarını geçersiz kılmak için işlemi OPENCLAW_DIAGNOSTICS=0 ile başlatın.
Zaman çizelgesi yapıtları
timeline bayrağı (takma ad: diagnostics.timeline), harici QA düzenekleri için yapılandırılmış başlatma
ve çalışma zamanı zamanlama olaylarını JSONL olarak yazar:
OPENCLAW_DIAGNOSTICS=timeline \OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \openclaw gateway runAlternatif olarak yapılandırmada etkinleştirin:
{ "diagnostics": { "flags": ["timeline"] }}Bayrağın kendisi yapılandırmada ayarlanmış olsa bile çıktı yolu her zaman OPENCLAW_DIAGNOSTICS_TIMELINE_PATH değerinden
alınır; yol için bir yapılandırma anahtarı yoktur.
timeline yalnızca yapılandırmadan etkinleştirildiğinde, OpenClaw henüz yapılandırmayı okumadığı için en erken yapılandırma yükleme aralıkları
eksik olur; sonraki başlatma aralıkları normal şekilde yakalanır.
OPENCLAW_DIAGNOSTICS=1, =all ve =* de tüm bayrakları etkinleştirdikleri için zaman çizelgesini etkinleştirir.
Yalnızca JSONL yapıtını isteyip diğer tüm tanılama bayraklarını istemediğinizde kapsamlı timeline
bayrağını tercih edin.
Zaman çizelgesindeki olay döngüsü gecikme örnekleri, timeline dışında bir ek açık onay daha gerektirir:
zaman çizelgesini etkinleştirmenin yanı sıra OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1 (veya on/true/yes) ayarlayın.
Zaman çizelgesi kayıtları openclaw.diagnostics.v1 zarfını kullanır ve
işlem 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 işlem çıkış
durumunu ve başlatma hatası adlarını/iletilerini içerebilir. Zaman çizelgesi dosyalarını yerel
tanılama yapıtları olarak değerlendirin; makinenizin dışında paylaşmadan önce inceleyin.
Günlüklerin kaydedildiği yer
Bayraklar, standart tanılama günlüğü dosyasına günlük kayıtları gönderir. Varsayılan olarak:
/tmp/openclaw/openclaw-YYYY-MM-DD.logAdlandırılmış profiller /tmp/openclaw/openclaw-<profile>-YYYY-MM-DD.log kullanır; örneğin
--dev, openclaw-dev-YYYY-MM-DD.log kullanır.
logging.file ayarlanırsa bunun yerine o yolu kullanın. Günlükler JSONL biçimindedir (satır başına bir JSON
nesnesi). logging.redactSensitive temelinde redaksiyon uygulanmaya devam eder.
Günlük yolu çözümleme, döndürme ve redaksiyon modelinin tamamı için Günlük Kaydı bölümüne
bakın.
Günlükleri çıkarma
Etkin profilin en son günlük dosyasını okuyun:
openclaw logs --plain# Adlandırılmış profil örneği:openclaw --profile work logs --plainTelegram HTTP tanılamalarını filtreleyin:
openclaw logs --plain --limit 5000 | rg "telegram http error"Brave Search HTTP tanılamalarını filtreleyin:
openclaw logs --plain --limit 5000 | rg "brave http"Ya da sorunu yeniden oluştururken günlükleri takip edin:
openclaw logs --follow --plain | rg "telegram http error"Uzak Gateway'ler için bunun yerine openclaw logs --follow kullanın (bkz.
/cli/logs).
Notlar
logging.level,warndeğerinden daha yüksek ayarlanırsa bayrakla denetlenen günlükler bastırılabilir. Varsayılaninfouygundur.brave.http, Brave Search istek URL'lerini/sorgu parametrelerini, yanıt durumunu/zamanlamasını ve önbellek isabet/ıskalama/yazma olaylarını günlüğe kaydeder. API anahtarını (istek üstbilgisi olarak gönderilir) veya yanıt gövdelerini günlüğe kaydetmez; ancak arama sorguları hassas olabilir.- Bayrakları etkin bırakmak güvenlidir; yalnızca ilgili alt sistemin günlük hacmini etkilerler.
- Günlük hedeflerini, düzeylerini ve redaksiyonu değiştirmek için /logging sayfasını kullanın.