로깅
사용자 대상 개요(CLI + Control UI + config)는 /logging을 참조하세요. OpenClaw에는 두 가지 로그 “표면”이 있습니다.- 콘솔 출력(터미널 / Debug UI에서 보이는 내용).
- Gateway 로거가 기록하는 파일 로그(JSON lines).
thinking은 기본 에이전트, 모델 매개변수 또는 전역 에이전트 기본값에서 가져옵니다. 설정되지 않은 경우 시작 요약에는 medium이 표시됩니다. fast는 기본 에이전트 또는 모델 fastMode 매개변수에서 가져옵니다.
파일 기반 로거
- 기본 롤링 로그 파일은
/tmp/openclaw/아래에 있습니다(하루에 파일 하나):openclaw-YYYY-MM-DD.log- 날짜는 Gateway 호스트의 로컬 시간대를 사용합니다.
- 활성 로그 파일은
logging.maxFileBytes에서 순환됩니다(기본값: 100 MB). 번호가 붙은 아카이브를 최대 5개까지 보관하고 새 활성 파일에 계속 기록합니다. - 로그 파일 경로와 레벨은
~/.openclaw/openclaw.json을 통해 구성할 수 있습니다.logging.filelogging.level
logs.tail)를 통해 이 파일을 tail합니다.
CLI도 동일하게 수행할 수 있습니다.
- 파일 로그는
logging.level로만 제어됩니다. --verbose는 콘솔 상세도(및 WS 로그 스타일)에만 영향을 주며, 파일 로그 레벨을 올리지 않습니다.- 상세 출력 전용 세부 정보를 파일 로그에 캡처하려면
logging.level을debug또는trace로 설정하세요. - Trace 로깅에는 Plugin 도구 팩터리 준비와 같은 일부 핫 경로의 진단 타이밍 요약도 포함됩니다. /tools/plugin#slow-plugin-tool-setup을 참조하세요.
콘솔 캡처
CLI는console.log/info/warn/error/debug/trace를 캡처해 파일 로그에 기록하면서도 stdout/stderr에는 계속 출력합니다.
콘솔 상세도는 다음을 통해 독립적으로 조정할 수 있습니다.
logging.consoleLevel(기본값info)logging.consoleStyle(pretty|compact|json)
비식별 처리
OpenClaw는 로그 또는 transcript 출력이 프로세스를 벗어나기 전에 민감한 토큰을 마스킹할 수 있습니다. 이 로깅 비식별 처리 정책은 콘솔, 파일 로그, OTLP 로그 기록, 세션 transcript 텍스트 싱크에 적용되므로, 일치하는 비밀 값은 JSONL 줄이나 메시지가 디스크에 기록되기 전에 마스킹됩니다.logging.redactSensitive:off|tools(기본값:tools)logging.redactPatterns: regex 문자열 배열(기본값 재정의)- 원시 regex 문자열(자동
gi)을 사용하거나, 사용자 지정 플래그가 필요한 경우/pattern/flags를 사용하세요. - 일치 항목은 처음 6자 + 마지막 4자를 유지해 마스킹됩니다(길이 >= 18). 그 외에는
***로 마스킹됩니다. - 기본값은 일반적인 키 할당, CLI 플래그, JSON 필드, bearer 헤더, PEM 블록, 널리 쓰이는 토큰 접두사, 카드 번호, CVC/CVV, 공유 결제 토큰, 결제 자격 증명과 같은 결제 자격 증명 필드 이름을 포함합니다.
- 원시 regex 문자열(자동
logging.redactSensitive와 관계없이 항상 비식별 처리합니다. 여기에는 Control UI 도구 호출 이벤트, sessions_history 도구 출력, 진단 지원 내보내기, 제공자 오류 관찰, exec 승인 명령 표시, Gateway WebSocket 프로토콜 로그가 포함됩니다. 이러한 표면은 추가 패턴으로 logging.redactPatterns를 계속 사용할 수 있지만, redactSensitive: "off"가 원시 비밀 값을 내보내게 하지는 않습니다.
Gateway WebSocket 로그
Gateway는 WebSocket 프로토콜 로그를 두 가지 모드로 출력합니다.- 일반 모드(
--verbose없음): “흥미로운” RPC 결과만 출력됩니다.- 오류(
ok=false) - 느린 호출(기본 임계값:
>= 50ms) - 파싱 오류
- 오류(
- 상세 모드(
--verbose): 모든 WS 요청/응답 트래픽을 출력합니다.
WS 로그 스타일
openclaw gateway는 Gateway별 스타일 스위치를 지원합니다.
--ws-log auto(기본값): 일반 모드는 최적화되고, 상세 모드는 compact 출력을 사용합니다.--ws-log compact: 상세 모드에서 compact 출력(쌍을 이룬 요청/응답)--ws-log full: 상세 모드에서 프레임별 전체 출력--compact:--ws-log compact의 별칭
콘솔 형식 지정(서브시스템 로깅)
콘솔 포매터는 TTY를 인식하며 일관된 접두사가 붙은 줄을 출력합니다. 서브시스템 로거는 출력을 그룹화하고 훑어보기 쉽게 유지합니다. 동작:- 모든 줄의 서브시스템 접두사(예:
[gateway],[canvas],[tailscale]) - 서브시스템 색상(서브시스템별 고정) 및 레벨 색상
- 출력이 TTY이거나 환경이 풍부한 터미널처럼 보일 때 색상 사용(
TERM/COLORTERM/TERM_PROGRAM),NO_COLOR준수 - 짧아진 서브시스템 접두사: 앞의
gateway/+channels/를 제거하고 마지막 2개 세그먼트를 유지(예:whatsapp/outbound) - 서브시스템별 하위 로거(자동 접두사 + 구조화된 필드
{ subsystem }) - QR/UX 출력을 위한
logRaw()(접두사 없음, 형식 지정 없음) - 콘솔 스타일(예:
pretty | compact | json) - 파일 로그 레벨과 별도의 콘솔 로그 레벨(
logging.level이debug/trace로 설정된 경우 파일은 전체 세부 정보를 유지) - WhatsApp 메시지 본문은
debug로 기록됩니다(보려면--verbose사용).