Diagnostics
Opciones de diagnóstico
Los indicadores de diagnóstico te permiten activar registros de depuración específicos sin habilitar el registro detallado en todas partes. Los indicadores son opcionales y no tienen efecto a menos que un subsistema los compruebe.
Cómo funciona
- Los indicadores son cadenas (sin distinción entre mayúsculas y minúsculas).
- Puedes activar indicadores en la configuración o mediante una anulación de entorno.
- Se admiten comodines:
telegram.*coincide contelegram.http*activa todos los indicadores
Activar mediante configuración
{
"diagnostics": {
"flags": ["telegram.http"]
}
}
Varios indicadores:
{
"diagnostics": {
"flags": ["telegram.http", "brave.http", "gateway.*"]
}
}
Reinicia el Gateway después de cambiar los indicadores.
Anulación de entorno (puntual)
OPENCLAW_DIAGNOSTICS=telegram.http,telegram.payload
Desactivar todos los indicadores:
OPENCLAW_DIAGNOSTICS=0
Artefactos de línea de tiempo
El indicador timeline escribe eventos estructurados de arranque y temporización
en tiempo de ejecución para arneses de QA externos:
OPENCLAW_DIAGNOSTICS=timeline \
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=/tmp/openclaw-timeline.jsonl \
openclaw gateway run
También puedes activarlo en la configuración:
{
"diagnostics": {
"flags": ["timeline"]
}
}
La ruta del archivo de línea de tiempo sigue viniendo de
OPENCLAW_DIAGNOSTICS_TIMELINE_PATH. Cuando timeline se activa solo desde la
configuración, los primeros intervalos de carga de configuración no se emiten
porque OpenClaw aún no ha leído la configuración; los intervalos de arranque
posteriores usan el indicador de configuración.
OPENCLAW_DIAGNOSTICS=1, OPENCLAW_DIAGNOSTICS=all y
OPENCLAW_DIAGNOSTICS=* también activan la línea de tiempo porque activan todos
los indicadores de diagnóstico. Prefiere timeline cuando solo quieras el
artefacto de temporización JSONL.
Los registros de línea de tiempo usan el contenedor openclaw.diagnostics.v1.
Los eventos pueden incluir identificadores de proceso, nombres de fase, nombres
de intervalo, duraciones, identificadores de Plugin, recuentos de dependencias,
muestras de retraso del bucle de eventos, nombres de operaciones de proveedor,
estado de salida de procesos secundarios y nombres/mensajes de errores de
arranque. Trata los archivos de línea de tiempo como artefactos locales de
diagnóstico; revísalos antes de compartirlos fuera de tu máquina.
Dónde van los registros
Los indicadores emiten registros en el archivo estándar de registro de diagnóstico. De forma predeterminada:
/tmp/openclaw/openclaw-YYYY-MM-DD.log
Si defines logging.file, usa esa ruta en su lugar. Los registros son JSONL (un objeto JSON por línea). La censura sigue aplicándose según logging.redactSensitive.
Extraer registros
Elige el archivo de registro más reciente:
ls -t /tmp/openclaw/openclaw-*.log | head -n 1
Filtrar diagnósticos HTTP de Telegram:
rg "telegram http error" /tmp/openclaw/openclaw-*.log
Filtrar diagnósticos HTTP de Brave Search:
rg "brave http" /tmp/openclaw/openclaw-*.log
O sigue el registro mientras reproduces el problema:
tail -f /tmp/openclaw/openclaw-$(date +%F).log | rg "telegram http error"
Para Gateways remotos, también puedes usar openclaw logs --follow (consulta /cli/logs).
Notas
- Si
logging.levelestá configurado por encima dewarn, estos registros pueden suprimirse. El valor predeterminadoinfofunciona bien. brave.httpregistra URL/parámetros de consulta de solicitudes de Brave Search, estado/temporización de respuestas y eventos de acierto/fallo/escritura de caché. No registra claves de API ni cuerpos de respuesta, pero las consultas de búsqueda pueden ser sensibles.- Es seguro dejar los indicadores activados; solo afectan al volumen de registro del subsistema específico.
- Usa /logging para cambiar destinos, niveles y censura de registros.