診断フラグ

診断フラグを使うと、すべてのログを詳細にすることなく、特定のサブシステムに絞ったデバッグログを有効化できます。フラグはオプトイン方式で、サブシステムがチェックしない限り影響はありません。

仕組み

  • フラグは文字列です(大文字・小文字を区別しません)。
  • 設定または環境変数のオーバーライドでフラグを有効化できます。
  • ワイルドカードをサポート:
    • telegram.*telegram.http にマッチ
    • * ですべてのフラグを有効化

設定で有効化

{
  "diagnostics": {
    "flags": ["telegram.http"]
  }
}

複数のフラグ:

{
  "diagnostics": {
    "flags": ["telegram.http", "gateway.*"]
  }
}

フラグ変更後は Gateway を再起動してください。

環境変数でのオーバーライド(一時的)

OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload

すべてのフラグを無効化:

OPENCLAW_DIAGNOSTICS=0

ログの出力先

フラグは標準の診断ログファイルにログを出力します。デフォルト:

/tmp/openclaw/openclaw-YYYY-MM-DD.log

logging.file を設定している場合はそのパスが使われます。ログは JSONL 形式(1 行に 1 つの JSON オブジェクト)です。logging.redactSensitive に基づくリダクションは引き続き適用されます。

ログの抽出

最新のログファイルを特定:

ls -t /tmp/openclaw/openclaw-*.log | head -n 1

Telegram HTTP 診断でフィルター:

rg "telegram http error" /tmp/openclaw/openclaw-*.log

再現中にテール:

tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"

リモートゲートウェイでは openclaw logs --follow も使用できます(/cli/logs を参照)。

補足

  • logging.levelwarn より高く設定されている場合、これらのログは抑制される可能性があります。デフォルトの info で問題ありません。
  • フラグは有効のまま残しても安全です。特定のサブシステムのログ量にのみ影響します。
  • ログの出力先、レベル、リダクションの変更には /logging を参照してください。