ロギング(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 を配置してください。