Ir al contenido

Marcas de diagnóstico

Las banderas de diagnóstico le permiten habilitar registros de depuración específicos sin activar el registro detallado en todas partes. Las banderas son opcionales y no tienen ningún efecto a menos que un subsistema las verifique.

  • Las banderas son cadenas (no distinguen entre mayúsculas y minúsculas).
  • Puede habilitar banderas en la configuración o mediante una anulación de variable de entorno.
  • Se admiten comodines:
    • telegram.* coincide con telegram.http
    • * habilita todas las marcas
{
"diagnostics": {
"flags": ["telegram.http"]
}
}

Múltiples banderas:

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

Reinicie la puerta de enlace después de cambiar las banderas.

Ventana de terminal
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload

Deshabilitar todas las banderas:

Ventana de terminal
OPENCLAW_DIAGNOSTICS=0

La marca timeline escribe eventos de temporización estructurados de inicio y en tiempo de ejecución para arneses de control de calidad externos:

Ventana de terminal
OPENCLAW_DIAGNOSTICS=timeline \
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \
openclaw gateway run

También puedes habilitarla en la configuración:

{
"diagnostics": {
"flags": ["timeline"]
}
}

La ruta del archivo de línea de tiempo todavía proviene de OPENCLAW_DIAGNOSTICS_TIMELINE_PATH. Cuando timeline está habilitado solo desde la configuración, los intervalos de carga de configuración más tempranos no se emiten porque OpenClaw aún no ha leído la configuración; los intervalos de inicio posteriores usan la marca de configuración.

OPENCLAW_DIAGNOSTICS=1, OPENCLAW_DIAGNOSTICS=all y OPENCLAW_DIAGNOSTICS=* también habilitan la línea de tiempo porque habilitan todas las marcas de diagnóstico. Se prefiere timeline cuando solo deseas el artefacto de temporización JSONL.

Los registros de la línea de tiempo usan el sobre openclaw.diagnostics.v1. Los eventos pueden incluir ids de proceso, nombres de fase, nombres de intervalo, duraciones, ids de complementos, recuentos de dependencias, muestras de retraso del bucle de eventos, nombres de operaciones del proveedor, estado de salida del proceso hijo, y nombres/mensajes de error de inicio. Trata los archivos de línea de tiempo como artefactos de diagnóstico locales; revísalos antes de compartirlos fuera de tu máquina.

Las marcas emiten registros en el archivo de registro de diagnóstico estándar. Por defecto:

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

Si configuras logging.file, usa esa ruta en su lugar. Los registros son JSONL (un objeto JSON por línea). La redacción todavía se aplica basándose en logging.redactSensitive.

Elige el archivo de registro más reciente:

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

Filtrar para diagnósticos HTTP de Telegram:

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

Filtrar para diagnósticos HTTP de Brave Search:

Ventana de terminal
rg "brave http" /tmp/openclaw/openclaw-*.log

O rastrear mientras se reproduce:

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

Para puertas de enlace remotas, también puedes usar openclaw logs --follow (consulta /cli/logs).

  • Si logging.level está configurado más alto que warn, estos registros pueden suprimirse. El valor predeterminado info está bien.
  • brave.http registra las URL de las solicitudes de Brave Search, los parámetros de consulta, el estado de la respuesta/cronometraje y los eventos de acierto/fallo/escritura en caché. No registra las claves de API ni los cuerpos de las respuestas, pero las consultas de búsqueda pueden ser confidenciales.
  • Es seguro dejar las banderas habilitadas; solo afectan el volumen de registro del subsistema específico.
  • Use /logging para cambiar los destinos de registro, los niveles y la redacción.