진단 플래그

진단 플래그를 사용하면 전체에 걸쳐 상세 로깅을 켜지 않고도 특정 디버그 로그를 활성화할 수 있습니다. 플래그는 옵트인 방식이며, 서브시스템이 이를 확인하지 않는 한 아무런 영향이 없습니다.

동작 방식

  • 플래그는 문자열입니다 (대소문자 구분 없음).
  • 설정이나 환경 변수 오버라이드를 통해 플래그를 활성화할 수 있습니다.
  • 와일드카드가 지원됩니다:
    • 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 -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"

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

참고

  • logging.levelwarn보다 높게 설정되면, 이 로그가 억제될 수 있습니다. 기본값 info면 문제 없습니다.
  • 플래그는 활성화된 상태로 두어도 안전합니다. 특정 서브시스템의 로그 양에만 영향을 미칩니다.
  • 로그 대상, 레벨, 마스킹을 변경하려면 /logging을 사용하세요.