Skip to main content
ユーザー向けの概要(CLI、コントロール UI、構成設定)については、/logging を参照してください。 OpenClaw には 2 つのログ「出力先(サーフェス)」があります:
  • コンソール出力: ターミナルや Debug UI に表示されるもの。
  • ファイルログ: ゲートウェイのロガーによって書き出される JSONL 形式のファイル。

ファイルベースのロガー

  • デフォルトでは、/tmp/openclaw/ 配下に日ごとにローテーションされるログファイルが作成されます: openclaw-YYYY-MM-DD.log
    • 日付はゲートウェイホストのローカルタイムゾーンに基づきます。
  • ログファイルのパスと出力レベルは ~/.openclaw/openclaw.json で設定可能です:
    • logging.file
    • logging.level
ファイル形式は、1 行につき 1 つの JSON オブジェクトが出力される JSONL 形式です。 コントロール UI の [Logs] タブは、ゲートウェイ経由でこのファイルをリアルタイム表示(logs.tail)します。CLI でも同様のことが可能です:
openclaw logs --follow
詳細モード(Verbose)とログレベルの違い
  • ファイルログ の出力内容は、logging.level によってのみ制御されます。
  • --verbose フラグは コンソールへの出力レベル(および WebSocket のログスタイル)にのみ影響し、ファイルログのレベルを引き上げることはありません。
  • 詳細なデバッグ情報をファイルログに残したい場合は、logging.leveldebug または trace に設定してください。

コンソールログのキャプチャ

CLI は console.log/info/warn/error/debug/trace をキャプチャしてファイルログに書き出しつつ、標準出力/標準エラー出力にも表示します。 コンソールの出力レベルとスタイルは、以下で個別に調整可能です:
  • logging.consoleLevel (デフォルト info)
  • logging.consoleStyle (pretty | compact | json)

ツールサマリーの伏せ字処理 (Redaction)

詳細モード時のツール実行サマリー(例: 🛠️ Exec: ...)において、コンソールに出力される直前に機密トークンをマスク(伏せ字に)することができます。これは ツール実行の表示のみ を対象としたものであり、ファイルログの内容は変更されません。
  • logging.redactSensitive: off | tools (デフォルト: tools)
  • logging.redactPatterns: 正規表現文字列の配列(デフォルト設定を上書きします)
    • 生の正規表現文字列(自動的に gi フラグが付与されます)、または /パターン/フラグ 形式を使用してください。
    • 一致した箇所は、18 文字以上であれば「最初の 6 文字 + 末尾の 4 文字」を残してマスクされ、それ以外は *** になります。
    • デフォルトでは、一般的なキー代入、CLI フラグ、JSON フィールド、Bearer ヘッダー、PEM ブロック、および主要なトークン接頭辞をカバーしています。

ゲートウェイ WebSocket ログ

ゲートウェイは、2 つのモードで WebSocket プロトコルのログを表示します:
  • 通常モード (--verbose なし): 「注目すべき」RPC 結果のみを表示します:
    • エラー (ok=false)
    • 低速な呼び出し(デフォルトの閾値: >= 50ms
    • パース(解析)エラー
  • 詳細モード (--verbose): すべての WebSocket リクエスト/レスポンスのトラフィックを表示します。

WS ログスタイル

openclaw gateway は、ゲートウェイごとのログスタイル切り替えをサポートしています:
  • --ws-log auto (デフォルト): 通常モードは最適化され、詳細モードではコンパクトな表示になります。
  • --ws-log compact: 詳細モード時に、リクエストとレスポンスを対にしたコンパクトな表示を行います。
  • --ws-log full: 詳細モード時に、フレームごとの完全なメタデータを表示します。
  • --compact: --ws-log compact の別名です。
実行例:
# 最適化表示(エラーや低速な呼び出しのみ)
openclaw gateway

# すべての WS トラフィックを表示(コンパクト)
openclaw gateway --verbose --ws-log compact

# すべての WS トラフィックを表示(フルメタデータ)
openclaw gateway --verbose --ws-log full

コンソールの整形 (サブシステムロギング)

コンソールフォーマッタは TTY を認識 し、一貫した接頭辞(プレフィックス)付きの行を出力します。サブシステムロガーにより、出力がグループ化され、内容を素早く把握できるようになっています。 主な挙動:
  • サブシステム接頭辞: すべての行に [gateway], [canvas], [tailscale] などの接頭辞が付与されます。
  • 色分け: サブシステムごとに固定の色(サブシステムカラー)とログレベルによる色分けが適用されます。
  • 環境に応じた色出力: 出力先が TTY であるか、リッチなターミナル環境(TERM, COLORTERM, TERM_PROGRAM 等)である場合に色を付けます。NO_COLOR 設定も尊重されます。
  • 接頭辞の短縮: 先頭の gateway/channels/ を省略し、末尾の 2 セグメントのみを保持します(例: whatsapp/outbound)。
  • 構造化ログ: サブシステムごとのロガーが、自動接頭辞と構造化フィールド { subsystem } を付加します。
  • logRaw(): QR コードや特定の UX 出力のために、接頭辞や整形を行わずに出力します。
  • コンソールスタイル: pretty, compact, json から選択可能です。
  • 独立したログレベル: ファイルログのレベルとは別に設定可能です(logging.leveldebug/trace であれば、ファイル側にはすべての詳細が記録されます)。
  • WhatsApp のメッセージ本文: debug レベルで記録されます(確認するには --verbose が必要です)。
これにより、既存のファイルログの安定性を保ちつつ、対話型の出力をスキャン(拾い読み)しやすいものにしています。