logging.level をグローバルに上げることなく、1 つのサブシステムに対して追加ログを有効にします。サブシステムがそのフラグを確認しない限り、フラグは効果を持ちません。
仕組み
- フラグは大文字と小文字を区別しない文字列で、config 内の
diagnostics.flagsとOPENCLAW_DIAGNOSTICSenv オーバーライドから解決され、重複排除されて小文字化されます。 name.*はname自体とname.配下のすべてに一致します(たとえばtelegram.*はtelegram.httpに一致します)。*またはallはすべてのフラグを有効にします。- config の
diagnostics.flagsを変更した後は Gateway を再起動してください。ホットリロードされません。
既知のフラグ
| フラグ | 有効にするもの |
|---|---|
telegram.http | Telegram Bot API HTTP エラーログ |
brave.http | Brave Search リクエスト/レスポンス/キャッシュログ |
profiler | 応答ステージプロファイラーと Codex app-server プロファイラー(両方) |
reply.profiler | 応答ステージプロファイラーのみ |
codex.profiler | Codex app-server プロファイラーのみ |
timeline | 構造化 JSONL タイムラインアーティファクト(下記参照) |
config で有効化
env オーバーライド(一回限り)
| 値 | 効果 |
|---|---|
0, false, off, none | すべてのフラグを無効にし、config も上書きします |
1, true, all, * | すべてのフラグを有効にします |
OPENCLAW_DIAGNOSTICS=0 は、そのプロセスで env と config の両方からのフラグを無効にします。ファイルを編集せずに、config で有効のまま残っているプロファイラーフラグを一時的に静かにする場合に便利です。
プロファイラーフラグ
プロファイラーフラグは軽量なタイミング span を制御します。オフのときはオーバーヘッドを追加しません。 1 回の Gateway 実行ですべてのプロファイラー制御 span を有効にする:profiler は応答プロファイラーと Codex プロファイラーの両方を有効にします。片方だけを有効にするには、スコープ付きフラグ名を使用してください。
または config に設定します:
diagnostics.flags から削除して再起動するか、その実行で OPENCLAW_DIAGNOSTICS=0 を指定してプロセスを開始し、すべての診断フラグを上書きします。
タイムラインアーティファクト
timeline フラグ(エイリアス: diagnostics.timeline)は、外部 QA ハーネス向けに、構造化された起動時およびランタイムのタイミングイベントを JSONL として書き込みます:
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH から取得されます。パス用の config キーはありません。timeline が config からのみ有効になっている場合、OpenClaw がまだ config を読んでいないため、最初期の config 読み込み span は欠落します。後続の起動 span は通常どおり取得されます。
OPENCLAW_DIAGNOSTICS=1、=all、=* も、すべてのフラグを有効にするため、タイムラインを有効にします。JSONL アーティファクトだけが必要で、他のすべての診断フラグは不要な場合は、スコープ付きの timeline フラグを優先してください。
タイムライン内のイベントループ遅延サンプルには、timeline に加えてもう 1 つのオプトインが必要です。タイムラインを有効にしたうえで、OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1(または on/true/yes)を設定してください。
タイムラインレコードは openclaw.diagnostics.v1 エンベロープを使用し、プロセス ID、フェーズ名、span 名、所要時間、Plugin ID、依存関係数、イベントループ遅延サンプル、プロバイダー操作名、子プロセス終了状態、起動エラー名/メッセージを含むことがあります。タイムラインファイルはローカル診断アーティファクトとして扱い、自分のマシンの外部に共有する前に確認してください。
ログの出力先
フラグは標準の診断ログファイルにログを出力します。デフォルト:logging.file を設定している場合は、代わりにそのパスを使用します。ログは JSONL(1 行に 1 つの JSON オブジェクト)です。logging.redactSensitive に基づく墨消しは引き続き適用されます。ログパス解決、ローテーション、墨消しモデルの全体については Logging を参照してください。
ログを抽出
最新のログファイルを選ぶ:openclaw logs --follow を使用してください(/cli/logs を参照)。
注記
logging.levelがwarnより高く設定されている場合、フラグ制御のログが抑制されることがあります。デフォルトのinfoで問題ありません。brave.httpは Brave Search のリクエスト URL/クエリパラメーター、レスポンスステータス/タイミング、キャッシュヒット/ミス/書き込みイベントをログに記録します。API キー(リクエストヘッダーとして送信)やレスポンス本文はログに記録しませんが、検索クエリは機微な情報になり得ます。- フラグは有効のままにしても安全です。特定のサブシステムのログ量にのみ影響します。
- ログの出力先、レベル、墨消しを変更するには /logging を使用してください。