ロギング
ユーザー向けの概要(CLI + Control UI + config)については、/logging を参照してください。 OpenClaw には2つのログサーフェスがあります。- コンソール出力 - terminal / Debug UI で表示される内容。
- ファイルログ - gateway logger によって書き込まれる JSON lines。
thinking はデフォルトエージェント、モデルパラメータ、またはグローバルエージェントデフォルトに由来します。未設定の場合は medium と表示されます。fast はデフォルトエージェントまたはモデルの fastMode パラメータに由来します。
ファイルベースの logger
- デフォルトのローテーションログファイルは
/tmp/openclaw/配下にあります(1日1ファイル):openclaw-YYYY-MM-DD.log。日付は gateway ホストのローカルタイムゾーンに基づきます。そのディレクトリが安全でない、または書き込み不能な場合(所有者が誤っている、誰でも書き込める、シンボリックリンクである)、OpenClaw は代わりにユーザースコープのos.tmpdir()/openclaw-<uid>パスへフォールバックします。Windows では常にその OS-tmpdir フォールバックを使用します。 - アクティブなログファイルは
logging.maxFileBytes(デフォルト: 100 MB)でローテーションされ、最大5つの番号付きアーカイブ(.1から.5)を保持し、新しいアクティブファイルへの書き込みを続けます。 - ログファイルのパスとレベルは
~/.openclaw/openclaw.jsonのlogging.file、logging.levelで設定します。 - ファイル形式は1行につき1つの JSON オブジェクトです。
logs.tail)経由でこのファイルを tail します。CLI も同じことを行います。
Verbose とログレベル
- ファイルログ は
logging.levelのみによって制御されます。 --verboseは コンソールの詳細度(および WS ログスタイル)にのみ影響し、ファイルログレベルは上げません。- verbose のみの詳細をファイルログで取得するには、
logging.levelをdebugまたはtraceに設定します。 - Trace logging には、plugin tool factory preparation など、選択されたホットパスの診断タイミングサマリーも含まれます。/tools/plugin#slow-plugin-tool-setup を参照してください。
コンソールキャプチャ
CLI はconsole.log/info/warn/error/debug/trace をキャプチャし、ファイルログへ書き込み、stdout/stderr にも引き続き出力します。
コンソールの詳細度は個別に調整できます。
logging.consoleLevel(デフォルトinfo)logging.consoleStyle(pretty|compact|json; TTY ではデフォルトがpretty、それ以外ではcompact)
リダクション
OpenClaw は、ログまたはトランスクリプトの出力がプロセス外へ出る前に機密トークンをマスクします。このリダクションポリシーは、コンソール、ファイルログ、OTLP ログレコード、セッショントランスクリプトテキストの sink に適用されるため、一致する secret 値は JSONL 行やメッセージがディスクへ書き込まれる前にマスクされます。logging.redactSensitive:off|tools(デフォルト:tools)logging.redactPatterns: regex 文字列の配列(デフォルトを上書き)- 生の regex 文字列(自動
gi)、またはカスタムフラグ用の/pattern/flagsを使用します。 - 一致箇所は先頭6文字 + 末尾4文字を保持してマスクされます(18文字以上の値)。それより短い値は
***になります。 - デフォルトは、一般的なキー代入、CLI フラグ、JSON フィールド、bearer headers、PEM ブロック、よく使われるベンダートークンプレフィックス、支払い認証情報のフィールド名(カード番号、CVC/CVV、共有支払いトークン、支払い認証情報)をカバーします。
- 生の regex 文字列(自動
logging.redactSensitive に関係なく常にリダクションされます。Control UI tool-call events、sessions_history tool output、diagnostics support exports、provider error observations、exec approval command display、Gateway WebSocket protocol logs が該当します。これらのサーフェスは追加パターンとして logging.redactPatterns を引き続き尊重しますが、redactSensitive: "off" にしても生の secret は出力されません。
Gateway WebSocket ログ
gateway は WebSocket protocol logs を2つのモードで出力します。- 通常モード(
--verboseなし): 「興味深い」RPC 結果のみを出力します。errors(ok=false)、slow calls(デフォルトしきい値:>= 50ms)、parse errors です。 - Verbose モード(
--verbose): すべての WS request/response traffic を出力します。
WS ログスタイル
openclaw gateway は gateway ごとのスタイル切り替えをサポートします。
--ws-log auto(デフォルト): 通常モードは最適化され、verbose モードでは compact output を使用します。--ws-log compact: verbose 時に compact output(ペアになった request/response)を使用します。--ws-log full: verbose 時に full per-frame output を使用します。--compact:--ws-log compactのエイリアスです。
コンソールフォーマット(サブシステムロギング)
コンソールフォーマッタは TTY-aware で、一貫したプレフィックス付き行を出力します。サブシステム logger は、出力をまとまりがありスキャンしやすい状態に保ちます。- すべての行に サブシステムプレフィックス(例:
[gateway]、[canvas]、[tailscale])。 - サブシステムカラー(サブシステムごとに安定し、名前からハッシュ化)とレベルの色付け。
- 出力先が TTY、または環境がリッチターミナルのように見える場合(
TERM/COLORTERM/TERM_PROGRAM)に 色を使用 します。NO_COLORとFORCE_COLORを尊重します。 - 短縮されたサブシステムプレフィックス: 先頭の
gateway/、channels/、またはproviders/セグメントを削除し、その後、残りのセグメントの末尾最大2つだけを保持します(例:channels/turn/kernelはturn/kernelと表示されます)。既知の channel subsystem(telegram、whatsapp、slackなど)は常に channel name だけに畳み込まれます。 - サブシステム別の sub-loggers(自動プレフィックス + 構造化フィールド
{ subsystem })。 - QR/UX 出力用の
logRaw()(プレフィックスなし、フォーマットなし)。 - コンソールスタイル:
pretty|compact|json。 - コンソールログレベル はファイルログレベルとは別です(
logging.levelがdebug/traceの場合、ファイルは完全な詳細を保持します)。 - WhatsApp message bodies は
debugでログに記録されます(表示するには--verboseを使用します)。