- コンソール出力: ターミナルや Debug UI に表示されるもの。
- ファイルログ: ゲートウェイのロガーによって書き出される JSONL 形式のファイル。
ファイルベースのロガー
- デフォルトでは、
/tmp/openclaw/配下に日ごとにローテーションされるログファイルが作成されます:openclaw-YYYY-MM-DD.log- 日付はゲートウェイホストのローカルタイムゾーンに基づきます。
- ログファイルのパスと出力レベルは
~/.openclaw/openclaw.jsonで設定可能です:logging.filelogging.level
logs.tail)します。CLI でも同様のことが可能です:
- ファイルログ の出力内容は、
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の別名です。
コンソールの整形 (サブシステムロギング)
コンソールフォーマッタは 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が必要です)。