Journalisation
Pour une vue d’ensemble orientée utilisateur (CLI + interface Control + configuration), voir /logging. OpenClaw possède deux « surfaces » de journalisation :- Sortie console (ce que vous voyez dans le terminal / l’interface Debug).
- Journaux de fichiers (lignes JSON) écrits par le logger de la gateway.
Logger basé sur des fichiers
- Le fichier journal rotatif par défaut se trouve sous
/tmp/openclaw/(un fichier par jour) :openclaw-YYYY-MM-DD.log- La date utilise le fuseau horaire local de l’hôte gateway.
- Le chemin du fichier journal et le niveau peuvent être configurés via
~/.openclaw/openclaw.json:logging.filelogging.level
logs.tail).
La CLI peut faire la même chose :
- Les journaux de fichiers sont contrôlés exclusivement par
logging.level. --verbosen’affecte que la verbosité console (et le style des journaux WS) ; il n’augmente pas le niveau des journaux de fichiers.- Pour capturer dans les journaux de fichiers les détails visibles uniquement en mode verbose, définissez
logging.levelsurdebugoutrace.
Capture console
La CLI captureconsole.log/info/warn/error/debug/trace et les écrit dans les journaux de fichiers,
tout en continuant à les afficher sur stdout/stderr.
Vous pouvez ajuster la verbosité console indépendamment via :
logging.consoleLevel(par défautinfo)logging.consoleStyle(pretty|compact|json)
Masquage des résumés d’outils
Les résumés d’outils verboses (par ex.🛠️ Exec: ...) peuvent masquer les jetons sensibles avant qu’ils n’atteignent le
flux console. Cela concerne uniquement les outils et ne modifie pas les journaux de fichiers.
logging.redactSensitive:off|tools(par défaut :tools)logging.redactPatterns: tableau de chaînes regex (remplace les valeurs par défaut)- Utilisez des chaînes regex brutes (auto
gi), ou/pattern/flagssi vous avez besoin d’indicateurs personnalisés. - Les correspondances sont masquées en conservant les 6 premiers + 4 derniers caractères (longueur >= 18), sinon
***. - Les valeurs par défaut couvrent les affectations de clés courantes, les flags CLI, les champs JSON, les en-têtes bearer, les blocs PEM et les préfixes de jetons populaires.
- Utilisez des chaînes regex brutes (auto
Journaux WebSocket de la gateway
La gateway affiche les journaux du protocole WebSocket dans deux modes :- Mode normal (sans
--verbose) : seuls les résultats RPC « intéressants » sont affichés :- erreurs (
ok=false) - appels lents (seuil par défaut :
>= 50ms) - erreurs d’analyse
- erreurs (
- Mode verbose (
--verbose) : affiche tout le trafic requête/réponse WS.
Style des journaux WS
openclaw gateway prend en charge un sélecteur de style par gateway :
--ws-log auto(par défaut) : le mode normal est optimisé ; le mode verbose utilise une sortie compacte--ws-log compact: sortie compacte (requête/réponse appariées) en mode verbose--ws-log full: sortie complète par trame en mode verbose--compact: alias de--ws-log compact
Formatage console (journalisation des sous-systèmes)
Le formateur console est conscient du TTY et affiche des lignes cohérentes avec préfixe. Les loggers de sous-système gardent une sortie groupée et facile à parcourir. Comportement :- Préfixes de sous-système sur chaque ligne (par ex.
[gateway],[canvas],[tailscale]) - Couleurs de sous-système (stables par sous-système) plus coloration par niveau
- Couleur lorsque la sortie est un TTY ou que l’environnement ressemble à un terminal riche (
TERM/COLORTERM/TERM_PROGRAM), respecteNO_COLOR - Préfixes de sous-système raccourcis : supprime les segments initiaux
gateway/+channels/, conserve les 2 derniers segments (par ex.whatsapp/outbound) - Sous-loggers par sous-système (préfixe automatique + champ structuré
{ subsystem }) logRaw()pour la sortie QR/UX (sans préfixe, sans formatage)- Styles console (par ex.
pretty | compact | json) - Niveau de journalisation console séparé du niveau de journalisation fichier (le fichier conserve le détail complet lorsque
logging.levelest défini surdebug/trace) - Les corps de message WhatsApp sont journalisés au niveau
debug(utilisez--verbosepour les voir)