> ## Documentation Index
> Fetch the complete documentation index at: https://openclawdoc.org/llms.txt
> Use this file to discover all available pages before exploring further.

> ファイルログとコンソール出力の違い、redaction、WebSocket ログスタイル、整形表示の切り替え方を説明します。

# ロギング

ユーザー向けの概要（CLI、コントロール UI、構成設定）については、[/logging](/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 でも同様のことが可能です:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw logs --follow
```

**詳細モード（Verbose）とログレベルの違い**

* **ファイルログ** の出力内容は、`logging.level` によってのみ制御されます。
* `--verbose` フラグは **コンソールへの出力レベル**（および WebSocket のログスタイル）にのみ影響し、ファイルログのレベルを引き上げることはありません。
* 詳細なデバッグ情報をファイルログに残したい場合は、`logging.level` を `debug` または `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` の別名です。

実行例:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
# 最適化表示（エラーや低速な呼び出しのみ）
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.level` が `debug`/`trace` であれば、ファイル側にはすべての詳細が記録されます）。
* **WhatsApp のメッセージ本文**: `debug` レベルで記録されます（確認するには `--verbose` が必要です）。

これにより、既存のファイルログの安定性を保ちつつ、対話型の出力をスキャン（拾い読み）しやすいものにしています。
