로깅 (macOS)
롤링 진단 파일 로그 (Debug 패널)
OpenClaw은 macOS 앱 로그를 swift-log(기본적으로 통합 로깅)를 통해 라우팅하며, 지속적인 캡처가 필요할 때 디스크에 로컬 로테이팅 파일 로그를 기록할 수 있습니다.
- 상세도: Debug 패널 → Logs → App logging → Verbosity
- 활성화: Debug 패널 → Logs → App logging → “Write rolling diagnostics log (JSONL)”
- 위치:
~/Library/Logs/OpenClaw/diagnostics.jsonl(자동 로테이션; 이전 파일은.1,.2, … 접미사) - 삭제: Debug 패널 → Logs → App logging → “Clear”
참고:
- 기본적으로 꺼져 있습니다. 적극적으로 디버깅할 때만 활성화하세요.
- 파일을 민감한 정보로 취급하세요. 검토 없이 공유하지 마세요.
macOS 통합 로깅의 비공개 데이터
통합 로깅은 서브시스템이 privacy -off를 선택하지 않는 한 대부분의 페이로드를 편집합니다. Peter의 macOS 로깅 개인정보 보호 이슈 (2025) 글에 따르면, 이는 /Library/Preferences/Logging/Subsystems/에 서브시스템 이름으로 키가 지정된 plist로 제어됩니다. 새 로그 항목만 플래그를 적용하므로, 문제를 재현하기 전에 활성화하세요.
OpenClaw (ai.openclaw)용 활성화
- plist를 임시 파일에 먼저 작성한 후, root로 원자적으로 설치합니다:
cat <<'EOF' >/tmp/ai.openclaw.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DEFAULT-OPTIONS</key>
<dict>
<key>Enable-Private-Data</key>
<true/>
</dict>
</dict>
</plist>
EOF
sudo install -m 644 -o root -g wheel /tmp/ai.openclaw.plist /Library/Preferences/Logging/Subsystems/ai.openclaw.plist
- 재부팅이 필요 없습니다. logd가 파일을 빠르게 인식하지만, 새 로그 라인에만 비공개 페이로드가 포함됩니다.
- 기존 헬퍼로 상세 출력을 확인하세요. 예:
./scripts/clawlog.sh --category WebChat --last 5m.
디버깅 후 비활성화
- 오버라이드 제거:
sudo rm /Library/Preferences/Logging/Subsystems/ai.openclaw.plist. - 선택적으로
sudo log config --reload를 실행하여 logd가 오버라이드를 즉시 제거하게 합니다. - 이 정보에는 전화번호와 메시지 본문이 포함될 수 있으므로, 추가 세부 정보가 필요한 동안에만 plist를 유지하세요.