로깅 (macOS)
순환 진단 파일 로그 (Debug 패널)
OpenClaw는 swift-log를 통해 macOS 앱 로그를 라우팅하고 (기본적으로 unified logging 사용), 내구성 있는 캡처가 필요할 때 로컬 순환 파일 로그를 디스크에 작성할 수 있습니다.
- 상세도: 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의 Unified logging 개인 데이터
Unified logging은 서브시스템이 privacy -off를 선택하지 않는 한 대부분의 페이로드를 편집합니다. macOS logging privacy shenanigans (2025)에 대한 Peter의 글에 따르면, 이는 서브시스템 이름으로 키가 지정된 /Library/Preferences/Logging/Subsystems/의 plist로 제어됩니다. 새 로그 항목만 플래그를 적용하므로, 문제를 재현하기 전에 활성화하세요.
OpenClaw (bot.molt)에 활성화
- 먼저 임시 파일에 plist를 작성한 다음, root로 원자적으로 설치합니다:
cat <<'EOF' >/tmp/bot.molt.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/bot.molt.plist /Library/Preferences/Logging/Subsystems/bot.molt.plist
- 재부팅이 필요하지 않습니다; logd가 파일을 빠르게 감지하지만, 새 로그 라인만 개인 페이로드를 포함합니다.
- 기존 헬퍼로 더 풍부한 출력을 확인하세요, 예: ./scripts/clawlog.sh --category WebChat --last 5m.
디버깅 후 비활성화
- 오버라이드 제거: sudo rm /Library/Preferences/Logging/Subsystems/bot.molt.plist.
- 선택적으로 sudo log config --reload를 실행하여 logd가 즉시 오버라이드를 삭제하도록 강제합니다.
- 이 인터페이스는 전화번호와 메시지 본문을 포함할 수 있으므로, 추가 세부 정보가 적극적으로 필요할 때만 plist를 유지하세요.