로깅 (macOS)
Rolling diagnostics file log (Debug pane)
OpenClaw는 macOS app log를swift-log로 라우팅합니다. 기본 출력은 unified logging이지만, 오래 보관할 캡처가 필요하면 disk에 local rolling file log를 쓸 수 있습니다.
- verbosity: 디버그 창 -> Logs -> App logging -> Verbosity
- enable: 디버그 창 -> Logs -> App logging -> “Write rolling diagnostics log (JSONL)”
- location:
~/Library/Logs/OpenClaw/diagnostics.jsonl(자동 회전되며 이전 파일은.1,.2, … 접미사를 사용) - clear: 디버그 창 -> Logs -> App logging -> “Clear”
- 이 기능은 기본적으로 꺼져 있습니다. 실제 디버깅 중일 때만 켜세요.
- 이 파일은 민감한 정보로 취급해야 합니다. 검토 없이 공유하지 마세요.
macOS unified logging의 private data
unified logging은 subsystem이privacy -off에 opt in하지 않으면 대부분의 payload를 가립니다. Peter의 macOS logging privacy shenanigans (2025) 글처럼, 이 설정은 subsystem 이름을 key로 쓰는 /Library/Preferences/Logging/Subsystems/ 아래 plist로 제어됩니다. 새 log entry에만 적용되므로, 이슈를 재현하기 전에 먼저 켜야 합니다.
OpenClaw (ai.openclaw)에 대해 활성화
- 먼저 plist를 temp file에 쓴 뒤 root로 atomic install을 수행합니다:
- reboot는 필요 없습니다.
logd가 파일을 빠르게 감지하지만, private payload는 새 log line에만 반영됩니다. - 더 풍부한 출력은 예를 들어
./scripts/clawlog.sh --category WebChat --last 5m처럼 기존 helper로 볼 수 있습니다.
디버깅 후 비활성화
- override 제거:
sudo rm /Library/Preferences/Logging/Subsystems/ai.openclaw.plist - 필요하면
sudo log config --reload를 실행해logd가 override를 즉시 버리게 할 수 있습니다. - 이 surface에는 전화번호와 message body가 포함될 수 있습니다. 추가 세부 정보가 정말 필요할 때만 plist를 유지하세요.