Registro
Para una vista general orientada al usuario (CLI + Control UI + configuración), consulte /logging. OpenClaw tiene dos “superficies” de logs:- Salida de consola (lo que usted ve en el terminal / UI de depuración).
- Logs en archivos (líneas JSON) escritos por el logger del Gateway.
Logger 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 del archivo de log y el nivel se pueden configurar mediante
~/.openclaw/openclaw.json:logging.filelogging.level
logs.tail).
La CLI puede hacer lo mismo:
- Los logs en archivos se controlan exclusivamente por
logging.level. --verbosesolo afecta la verbosidad de la consola (y el estilo de logs WS); no eleva el nivel de log del archivo.- Para capturar detalles solo-verbose en los logs de archivo, configure
logging.levelendebugotrace.
Captura de consola
La CLI capturaconsole.log/info/warn/error/debug/trace y los escribe en los logs de archivo,
mientras sigue imprimiendo en stdout/stderr.
Usted puede 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 verbosos de herramientas (p. ej.,🛠️ Exec: ...) pueden enmascarar tokens sensibles antes de que lleguen
al flujo de la 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)- Use cadenas regex sin procesar (auto
gi), o/pattern/flagssi necesita banderas personalizadas. - Las coincidencias se enmascaran conservando los primeros 6 + los últimos 4 caracteres (longitud >= 18); de lo contrario
***. - Los valores predeterminados cubren asignaciones comunes de claves, flags de la CLI, campos JSON, encabezados bearer, bloques PEM y prefijos populares de tokens.
- Use cadenas regex sin procesar (auto
Logs de 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 parseo
- errores (
- Modo verbose (
--verbose): imprime todo el tráfico de solicitudes/respuestas WS.
Estilo de logs WS
openclaw gateway admite un cambio 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 emparejadas) cuando está en verbose--ws-log full: salida completa por frame cuando está en verbose--compact: alias de--ws-log compact
Formato de consola (logging por subsistemas)
El formateador de consola es consciente de TTY y muestra líneas consistentes con prefijos. Los loggers por subsistema mantienen la salida agrupada y fácil de escanear. Comportamiento:- Prefijos de subsistema en cada línea (p. ej.,
[gateway],[canvas],[tailscale]) - Colores por subsistema (estables por subsistema) además del color por nivel
- Color cuando la salida es un TTY o el entorno parece un terminal enriquecido (
TERM/COLORTERM/TERM_PROGRAM), respetaNO_COLOR - Prefijos de subsistema abreviados: elimina el
gateway/inicial +channels/, conserva los últimos 2 segmentos (p. ej.,whatsapp/outbound) - Sub-loggers por subsistema (prefijo automático + campo estructurado
{ subsystem }) logRaw()para salida QR/UX (sin prefijo, sin formato)- Estilos de consola (p. ej.,
pretty | compact | json) - Nivel de log de consola separado del nivel de log de archivo (el archivo mantiene todo el detalle cuando
logging.levelse establece endebug/trace) - Los cuerpos de mensajes de WhatsApp se registran en
debug(use--verbosepara verlos)