ロギング(macOS)
ローテーション診断ファイルログ(デバッグペイン)
OpenClaw は macOS アプリのログを swift-log 経由でルーティングし(デフォルトで unified logging)、永続的なキャプチャが必要な場合はローカルのローテーションファイルログをディスクに書き込むことができます。
- 詳細度: デバッグペイン → ログ → アプリロギング → 詳細度
- 有効化: デバッグペイン → ログ → アプリロギング → "ローテーション診断ログを書き込む(JSONL)"
- 場所: ~/Library/Logs/OpenClaw/diagnostics.jsonl(自動的にローテーション。古いファイルには .1, .2, ... のサフィックスが付きます)
- クリア: デバッグペイン → ログ → アプリロギング → "クリア"
注意事項:
- これはデフォルトでオフです。アクティブにデバッグしている間のみ有効にしてください。
- ファイルは機密情報として扱ってください。レビューせずに共有しないでください。
macOS の unified logging プライベートデータ
Unified logging は、サブシステムが privacy -off をオプトインしない限り、ほとんどのペイロードを編集します。Peter の macOS ロギングプライバシーの奇妙な動作(2025)に関する記事によると、これはサブシステム名でキー化された /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 を配置してください。