Registro
Para obtener un resumen orientado al usuario (CLI + Control UI + configuración), consulta /logging. OpenClaw tiene dos “superficies” de registro:- Salida de consola (lo que ves en la terminal / UI de depuración).
- Logs de archivo (líneas JSON) escritos por el registrador del gateway.
Registrador basado en archivos
- El archivo de log rotativo predeterminado está en
/tmp/openclaw/(un archivo por día):openclaw-YYYY-MM-DD.log- La fecha usa la zona horaria local del host del gateway.
- La ruta y el nivel del archivo de log se pueden configurar mediante
~/.openclaw/openclaw.json:logging.filelogging.level
logs.tail).
La CLI puede hacer lo mismo:
- Los logs de archivo se controlan exclusivamente mediante
logging.level. --verbosesolo afecta a la verbosidad de la consola (y al estilo de los logs WS); no aumenta el nivel de los logs de archivo.- Para capturar detalles exclusivos de verbose en los logs de archivo, configura
logging.levelendebugotrace.
Captura de consola
La CLI capturaconsole.log/info/warn/error/debug/trace y los escribe en los logs de archivo,
mientras sigue imprimiéndolos en stdout/stderr.
Puedes ajustar la verbosidad de la consola de forma independiente mediante:
logging.consoleLevel(predeterminadoinfo)logging.consoleStyle(pretty|compact|json)
Redacción de resúmenes de herramientas
Los resúmenes detallados de herramientas (por ejemplo🛠️ Exec: ...) pueden ocultar tokens sensibles antes de que lleguen al
stream de consola. Esto es solo para herramientas y no altera los logs de archivo.
logging.redactSensitive:off|tools(predeterminado:tools)logging.redactPatterns: arreglo de cadenas regex (anula los valores predeterminados)- Usa cadenas regex sin procesar (auto
gi), o/pattern/flagssi necesitas indicadores personalizados. - Las coincidencias se enmascaran manteniendo los primeros 6 + los últimos 4 caracteres (longitud >= 18), en caso contrario
***. - Los valores predeterminados cubren asignaciones de claves comunes, indicadores de CLI, campos JSON, cabeceras bearer, bloques PEM y prefijos de tokens populares.
- Usa cadenas regex sin procesar (auto
Logs WebSocket del gateway
El gateway imprime logs del protocolo WebSocket en dos modos:- Modo normal (sin
--verbose): solo se imprimen resultados RPC “interesantes”:- errores (
ok=false) - llamadas lentas (umbral predeterminado:
>= 50ms) - errores de análisis
- errores (
- Modo verbose (
--verbose): imprime todo el tráfico de solicitudes y respuestas WS.
Estilo de logs WS
openclaw gateway admite un selector de estilo por gateway:
--ws-log auto(predeterminado): el modo normal está optimizado; el modo verbose usa salida compacta--ws-log compact: salida compacta (solicitud/respuesta emparejada) cuando está en verbose--ws-log full: salida completa por trama cuando está en verbose--compact: alias de--ws-log compact
Formato de consola (registro por subsistema)
El formateador de consola detecta TTY e imprime líneas coherentes con prefijos. Los registradores por subsistema mantienen la salida agrupada y fácil de examinar. Comportamiento:- Prefijos de subsistema en cada línea (por ejemplo
[gateway],[canvas],[tailscale]) - Colores de subsistema (estables por subsistema) más coloración por nivel
- Color cuando la salida es un TTY o el entorno parece una terminal enriquecida (
TERM/COLORTERM/TERM_PROGRAM), respetaNO_COLOR - Prefijos de subsistema abreviados: elimina los prefijos iniciales
gateway/+channels/, conserva los últimos 2 segmentos (por ejemplowhatsapp/outbound) - Subregistradores por subsistema (prefijo automático + campo estructurado
{ subsystem }) logRaw()para salida de QR/UX (sin prefijo, sin formato)- Estilos de consola (por ejemplo
pretty | compact | json) - Nivel de log de consola separado del nivel de log de archivo (el archivo mantiene el detalle completo cuando
logging.levelestá configurado endebug/trace) - Los cuerpos de mensajes de WhatsApp se registran en
debug(usa--verbosepara verlos)