OpenClaw ha due superfici principali per i log:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Log su file (righe JSON) scritti dal Gateway.
- Output della console mostrato nei terminali e nella UI di debug del Gateway.
Dove si trovano i log
Per impostazione predefinita, il Gateway scrive un file di log a rotazione in:/tmp/openclaw/openclaw-YYYY-MM-DD.log
La data usa il fuso orario locale dell’host del gateway.
Ogni file ruota quando raggiunge logging.maxFileBytes (predefinito: 100 MB).
OpenClaw conserva fino a cinque archivi numerati accanto al file attivo, come
openclaw-YYYY-MM-DD.1.log, e continua a scrivere in un nuovo log attivo invece di
sopprimere la diagnostica.
Puoi sovrascrivere questa impostazione in ~/.openclaw/openclaw.json:
Come leggere i log
CLI: tail live (consigliato)
Usa la CLI per seguire il file di log del gateway tramite RPC:--local-time: mostra i timestamp nel tuo fuso orario locale--url <url>/--token <token>/--timeout <ms>: flag RPC standard del Gateway--expect-final: flag di attesa della risposta finale RPC basata su agente (accettato qui tramite il livello client condiviso)
- Sessioni TTY: righe di log strutturate, leggibili e colorate.
- Sessioni non TTY: testo semplice.
--json: JSON delimitato da righe (un evento di log per riga).--plain: forza il testo semplice nelle sessioni TTY.--no-color: disabilita i colori ANSI.
--url esplicito, la CLI non applica automaticamente la configurazione o
le credenziali dell’ambiente; includi tu stesso --token se il Gateway di destinazione
richiede l’autenticazione.
In modalità JSON, la CLI emette oggetti contrassegnati da type:
meta: metadati dello stream (file, cursore, dimensione)log: voce di log analizzatanotice: suggerimenti su troncamento / rotazioneraw: riga di log non analizzata
logs.tail risponda, openclaw logs ripiega automaticamente sul
file di log del Gateway configurato. Le destinazioni esplicite --url non usano
questo fallback.
Se il Gateway non è raggiungibile, la CLI stampa un breve suggerimento per eseguire:
Control UI (web)
La scheda Log della Control UI segue lo stesso file usandologs.tail.
Consulta Control UI per sapere come aprirla.
Log solo canale
Per filtrare l’attività dei canali (WhatsApp/Telegram/ecc.), usa:Formati dei log
Log su file (JSONL)
Ogni riga nel file di log è un oggetto JSON. La CLI e la Control UI analizzano queste voci per visualizzare output strutturato (ora, livello, sottosistema, messaggio). I record JSONL dei log su file includono anche campi di primo livello filtrabili dalla macchina quando disponibili:hostname: nome dell’host del gateway.message: testo del messaggio di log appiattito per la ricerca full-text.agent_id: id dell’agente attivo quando la chiamata di log porta con sé il contesto dell’agente.session_id: id/chiave della sessione attiva quando la chiamata di log porta con sé il contesto della sessione.channel: canale attivo quando la chiamata di log porta con sé il contesto del canale.
Output della console
I log della console sono TTY-aware e formattati per la leggibilità:- Prefissi dei sottosistemi (ad es.
gateway/channels/whatsapp) - Colorazione dei livelli (info/warn/error)
- Modalità compatta o JSON opzionale
logging.consoleStyle.
Log WebSocket del Gateway
openclaw gateway ha anche log del protocollo WebSocket per il traffico RPC:
- modalità normale: solo risultati interessanti (errori, errori di parsing, chiamate lente)
--verbose: tutto il traffico di richiesta/risposta--ws-log auto|compact|full: scegli lo stile di rendering dettagliato--compact: alias per--ws-log compact
Configurare il logging
Tutta la configurazione del logging si trova sottologging in ~/.openclaw/openclaw.json.
Livelli di log
logging.level: livello dei log su file (JSONL).logging.consoleLevel: livello di verbosità della console.
OPENCLAW_LOG_LEVEL (ad es. OPENCLAW_LOG_LEVEL=debug). La variabile d’ambiente ha precedenza sul file di configurazione, quindi puoi aumentare la verbosità per una singola esecuzione senza modificare openclaw.json. Puoi anche passare l’opzione globale della CLI --log-level <level> (per esempio, openclaw --log-level debug gateway run), che sovrascrive la variabile d’ambiente per quel comando.
--verbose influisce solo sull’output della console e sulla verbosità dei log WS; non cambia
i livelli dei log su file.
Diagnostica mirata del trasporto del modello
Quando esegui il debug delle chiamate ai provider, usa flag d’ambiente mirati invece di aumentare tutti i log adebug:
OPENCLAW_DEBUG_MODEL_TRANSPORT=1: emette avvio della richiesta, risposta fetch, header SDK, primo evento di streaming, completamento dello stream ed errori di trasporto al livelloinfo.OPENCLAW_DEBUG_MODEL_PAYLOAD=summary: include un riepilogo limitato del payload della richiesta nei log delle richieste del modello.OPENCLAW_DEBUG_MODEL_PAYLOAD=tools: include tutti i nomi degli strumenti esposti al modello nel riepilogo del payload.OPENCLAW_DEBUG_MODEL_PAYLOAD=full-redacted: include uno snapshot JSON redatto e limitato del payload. Usalo solo durante il debug; i segreti sono redatti ma prompt e testo dei messaggi potrebbero essere ancora presenti.OPENCLAW_DEBUG_SSE=events: emette la tempistica del primo evento e del completamento dello stream.OPENCLAW_DEBUG_SSE=peek: emette anche i primi cinque payload redatti degli eventi SSE, con limite per evento.OPENCLAW_DEBUG_CODE_MODE=1: emette diagnostica della superficie del modello in code mode, incluso quando gli strumenti nativi del provider sono nascosti perché la code mode possiede la superficie degli strumenti.
openclaw logs --follow
e la scheda Log della Control UI li mostrano. Senza i flag, la stessa diagnostica
rimane disponibile al livello debug.
Correlazione delle tracce
I log su file sono JSONL. Quando una chiamata di log porta con sé un contesto di traccia diagnostica valido, OpenClaw scrive i campi della traccia come chiavi JSON di primo livello (traceId, spanId,
parentSpanId, traceFlags) così i processori di log esterni possono correlare la riga
con gli span OTEL e la propagazione traceparent del provider.
Le richieste HTTP del Gateway e i frame WebSocket del Gateway stabiliscono un ambito interno di traccia
della richiesta. I log e gli eventi diagnostici emessi dentro quell’ambito async ereditano
la traccia della richiesta quando non passano un contesto di traccia esplicito. Le tracce delle esecuzioni agente e
delle chiamate al modello diventano figli della traccia di richiesta attiva, quindi log locali,
snapshot diagnostici, span OTEL e header traceparent attendibili del provider possono
essere uniti tramite traceId senza registrare contenuto grezzo della richiesta o del modello.
I record di log del ciclo di vita delle conversazioni confluiscono anche nei log OTLP quando l’esportazione dei log OpenTelemetry
è abilitata, usando gli stessi attributi limitati dei log su file.
Dimensione e tempistica delle chiamate al modello
La diagnostica delle chiamate al modello registra misurazioni limitate di richiesta/risposta senza catturare il contenuto grezzo di prompt o risposta:requestPayloadBytes: dimensione in byte UTF-8 del payload finale della richiesta al modelloresponseStreamBytes: dimensione in byte UTF-8 degli eventi di risposta del modello in streamingtimeToFirstByteMs: tempo trascorso prima del primo evento di risposta in streamingdurationMs: durata totale della chiamata al modello
Stili della console
logging.consoleStyle:
pretty: leggibile per gli esseri umani, colorato, con timestamp.compact: output più compatto (ideale per sessioni lunghe).json: JSON per riga (per processori di log).
Redazione
OpenClaw può redarre token sensibili prima che raggiungano l’output della console, i log su file, i record di log OTLP, il testo persistito della trascrizione della sessione o i payload degli eventi strumento della Control UI (argomenti di avvio strumento, payload di risultato parziali/finali, output exec derivato e riepiloghi delle patch):logging.redactSensitive:off|tools(predefinito:tools)logging.redactPatterns: elenco di stringhe regex per sovrascrivere il set predefinito. I pattern personalizzati si applicano sopra i valori predefiniti integrati per i payload degli strumenti della Control UI, quindi aggiungere un pattern non indebolisce mai la redazione dei valori già intercettati dai predefiniti.
logging.redactSensitive: "off" disabilita solo questa policy generale di log/trascrizione.
OpenClaw redige comunque i payload di confine di sicurezza che possono essere mostrati a client UI,
bundle di supporto, osservatori diagnostici, prompt di approvazione o strumenti degli agenti.
Gli esempi includono eventi di chiamata strumento della Control UI, output sessions_history,
esportazioni di supporto diagnostico, osservazioni di errore del provider, visualizzazione del comando di approvazione exec
e log del protocollo WebSocket del Gateway. logging.redactPatterns personalizzati
possono comunque aggiungere pattern specifici del progetto su quelle superfici.
Diagnostica e OpenTelemetry
La diagnostica è composta da eventi strutturati e leggibili dalla macchina per esecuzioni del modello e telemetria del flusso dei messaggi (webhook, accodamento, stato della sessione). Non sostituisce i log: alimenta metriche, tracce ed esportatori. Gli eventi sono emessi nel processo, indipendentemente dal fatto che vengano esportati o meno. Due superfici adiacenti:- Esportazione OpenTelemetry — invia metriche, tracce e log tramite OTLP/HTTP a qualsiasi collector o backend compatibile con OpenTelemetry (Grafana, Datadog, Honeycomb, New Relic, Tempo, ecc.). Configurazione completa, catalogo dei segnali, nomi di metriche/span, variabili d’ambiente e modello di privacy si trovano in una pagina dedicata: Esportazione OpenTelemetry.
- Flag diagnostici — flag di log di debug mirati che instradano log extra verso
logging.filesenza aumentarelogging.level. I flag non distinguono maiuscole/minuscole e supportano wildcard (telegram.*,*). Configurali sottodiagnostics.flagso tramite l’override envOPENCLAW_DIAGNOSTICS=.... Guida completa: Flag diagnostici.
Suggerimenti per la risoluzione dei problemi
- Gateway non raggiungibile? Esegui prima
openclaw doctor. - Log vuoti? Controlla che il Gateway sia in esecuzione e stia scrivendo nel percorso file
in
logging.file. - Serve più dettaglio? Imposta
logging.levelsudebugotracee riprova.
Correlati
- Esportazione OpenTelemetry — esportazione OTLP/HTTP, catalogo metriche/span, modello di privacy
- Flag diagnostici — flag di log di debug mirati
- Interni del logging del Gateway — stili dei log WS, prefissi dei sottosistemi e cattura della console
- Riferimento di configurazione — riferimento completo dei campi
diagnostics.*