ログ
ユーザー向けの概要(CLI+コントロールUI+設定)については/loggingを参照してください。
OpenClawには2つのログ「サーフェス」があります:
- コンソール出力(ターミナル/デバッグUIに表示される内容)
- ファイルログ(JSONライン形式)ゲートウェイロガーによって書き込まれます。
ファイルベースのロガー
- デフォルトのローリングログファイルは
/tmp/openclaw/配下(1日1ファイル):openclaw-YYYY-MM-DD.log- 日付はゲートウェイホストのローカルタイムゾーンを使用。
- ログファイルのパスとレベルは
~/.openclaw/openclaw.jsonで設定可能:logging.filelogging.level
ファイル形式は1行に1つのJSONオブジェクトです。
コントロールUIのLogsタブはゲートウェイ経由(logs.tail)でこのファイルをテールします。
CLIでも同様に可能です:
openclaw logs --follow
Verboseとログレベルの関係
- ファイルログは
logging.levelによってのみ制御されます。 --verboseはコンソールの詳細度(およびWSログスタイル)にのみ影響し、ファイルログレベルは上げません。- verbose限定の詳細をファイルログにキャプチャするには、
logging.levelをdebugまたはtraceに設定してください。
コンソールキャプチャ
CLIはconsole.log/info/warn/error/debug/traceをキャプチャしてファイルログに書き込み、同時にstdout/stderrにも出力します。
コンソールの詳細度は以下で独立して調整可能:
logging.consoleLevel(デフォルトinfo)logging.consoleStyle(pretty|compact|json)
ツールサマリーのリダクション
詳細なツールサマリー(例:🛠️ Exec: ...)は、コンソールストリームに出力される前に機密トークンをマスクできます。これはツールのみの機能であり、ファイルログは変更しません。
logging.redactSensitive:off|tools(デフォルト:tools)logging.redactPatterns:正規表現文字列の配列(デフォルトをオーバーライド)- 生の正規表現文字列(自動
gi)を使用するか、カスタムフラグが必要な場合は/pattern/flags。 - マッチは先頭6文字+末尾4文字を保持してマスク(長さ18以上の場合)。それ以外は
***。 - デフォルトでは一般的なキー代入、CLIフラグ、JSONフィールド、Bearerヘッダー、PEMブロック、一般的なトークンプレフィックスをカバー。
- 生の正規表現文字列(自動
Gateway WebSocketログ
ゲートウェイはWebSocketプロトコルログを2つのモードで出力します:
- 通常モード(
--verboseなし):「興味深い」RPC結果のみ表示:- エラー(
ok=false) - 遅い呼び出し(デフォルト閾値:
>= 50ms) - パースエラー
- エラー(
- Verboseモード(
--verbose):すべてのWS リクエスト/レスポンストラフィックを表示。
WSログスタイル
openclaw gatewayはゲートウェイごとのスタイル切り替えをサポート:
--ws-log auto(デフォルト):通常モードは最適化。verboseモードはコンパクト出力--ws-log compact:verbose時にコンパクト出力(ペアのリクエスト/レスポンス)--ws-log full:verbose時にフレームごとの完全出力--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.levelをdebug/traceに設定するとファイルに完全な詳細を保持) - WhatsAppメッセージ本文は
debugレベルでログ出力(表示するには--verboseを使用)
これにより既存のファイルログを安定させつつ、インタラクティブ出力をスキャンしやすくします。