診断フラグ
診断フラグを使うと、すべてのログを詳細にすることなく、特定のサブシステムに絞ったデバッグログを有効化できます。フラグはオプトイン方式で、サブシステムがチェックしない限り影響はありません。
仕組み
- フラグは文字列です(大文字・小文字を区別しません)。
- 設定または環境変数のオーバーライドでフラグを有効化できます。
- ワイルドカードをサポート:
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.levelがwarnより高く設定されている場合、これらのログは抑制される可能性があります。デフォルトのinfoで問題ありません。- フラグは有効のまま残しても安全です。特定のサブシステムのログ量にのみ影響します。
- ログの出力先、レベル、リダクションの変更には /logging を参照してください。