Diagnostics Flags

Diagnostics flags giúp các bạn bật log debug có chọn lọc mà không cần bật verbose logging ở khắp nơi. Flags hoạt động theo cơ chế opt-in và không có tác dụng gì trừ khi subsystem kiểm tra chúng.

Cách hoạt động

  • Flags là các chuỗi ký tự (không phân biệt chữ hoa chữ thường).
  • Các bạn có thể bật flags trong config hoặc qua biến môi trường.
  • Hỗ trợ wildcards:
    • telegram.* khớp với telegram.http
    • * bật tất cả flags

Bật qua config

{
  "diagnostics": {
    "flags": ["telegram.http"]
  }
}

Nhiều flags:

{
  "diagnostics": {
    "flags": ["telegram.http", "gateway.*"]
  }
}

Khởi động lại Gateway sau khi thay đổi flags nhé.

Ghi đè bằng biến môi trường (dùng một lần)

OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload

Tắt tất cả flags:

OPENCLAW_DIAGNOSTICS=0

Log được lưu ở đâu

Flags ghi log vào file diagnostics log chuẩn. Mặc định là:

/tmp/openclaw/openclaw-YYYY-MM-DD.log

Nếu các bạn đặt logging.file, thì dùng đường dẫn đó. Logs có định dạng JSONL (một JSON object trên mỗi dòng). Redaction vẫn áp dụng dựa trên logging.redactSensitive.

Trích xuất logs

Chọn file log mới nhất:

ls -t /tmp/openclaw/openclaw-*.log | head -n 1

Lọc log Telegram HTTP diagnostics:

rg "telegram http error" /tmp/openclaw/openclaw-*.log

Hoặc tail trong khi tái hiện lỗi:

tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"

Với remote gateways, các bạn cũng có thể dùng openclaw logs --follow (xem /cli/logs).

Lưu ý

  • Nếu logging.level được đặt cao hơn warn, các log này có thể bị chặn. Mặc định info là ổn.
  • Flags an toàn khi để bật; chúng chỉ ảnh hưởng đến lượng log của subsystem cụ thể.
  • Dùng /logging để thay đổi đích đến log, mức độ, và redaction.