진단 플래그 (Diagnostics Flags)

진단 플래그를 사용하면 모든 곳에서 상세 로깅을 켜지 않고도 타겟팅된 디버그 로그를 활성화할 수 있습니다. 플래그는 옵트인이며 서브시스템이 확인하지 않는 한 효과가 없습니다.

작동 방식

  • 플래그는 문자열입니다(대소문자 구분 없음).
  • 설정에서 플래그를 활성화하거나 환경 변수로 재정의할 수 있습니다.
  • 와일드카드가 지원됩니다:
    • telegram.*telegram.http와 일치
    • *는 모든 플래그 활성화

설정으로 활성화

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

여러 플래그:

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

플래그 변경 후 게이트웨이를 재시작하세요.

환경 변수 재정의 (일회성)

OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload

모든 플래그 비활성화:

OPENCLAW_DIAGNOSTICS=0

로그 저장 위치

플래그는 표준 진단 로그 파일로 로그를 출력합니다. 기본값:

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

logging.file을 설정한 경우 해당 경로를 사용하세요. 로그는 JSONL 형식(줄당 하나의 JSON 객체)입니다. logging.redactSensitive에 따라 편집이 적용됩니다.

최신 로그 파일 선택:

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

Telegram HTTP 진단 필터링:

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

또는 재현 중에 tail로 확인:

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

원격 게이트웨이의 경우 openclaw logs --follow도 사용할 수 있습니다(CLI logs 참조).

참고 사항

  • logging.levelwarn보다 높게 설정된 경우 이러한 로그가 억제될 수 있습니다. 기본값 info는 괜찮습니다.
  • 플래그는 활성화된 상태로 두어도 안전합니다. 특정 서브시스템의 로그 볼륨에만 영향을 줍니다.
  • 로그 대상, 레벨 및 편집을 변경하려면 Logging을 사용하세요.