3.4 KiB
summary, read_when
| summary | read_when | |||
|---|---|---|---|---|
| Logging overview: file logs, console output, CLI tailing, and the Control UI |
|
Logging
Clawdbot logs in two places:
- File logs (JSON lines) written by the Gateway.
- Console output shown in terminals and the Control UI.
This page explains where logs live, how to read them, and how to configure log levels and formats.
Where logs live
By default, the Gateway writes a rolling log file under:
/tmp/clawdbot/clawdbot-YYYY-MM-DD.log
You can override this in ~/.clawdbot/clawdbot.json:
{
"logging": {
"file": "/path/to/clawdbot.log"
}
}
How to read logs
CLI: live tail (recommended)
Use the CLI to tail the gateway log file via RPC:
clawdbot logs --follow
Output modes:
- TTY sessions: pretty, colorized, structured log lines.
- Non-TTY sessions: plain text.
--json: line-delimited JSON (one log event per line).--plain: force plain text in TTY sessions.--no-color: disable ANSI colors.
In JSON mode, the CLI emits type-tagged objects:
meta: stream metadata (file, cursor, size)log: parsed log entrynotice: truncation / rotation hintsraw: unparsed log line
If the Gateway is unreachable, the CLI prints a short hint to run:
clawdbot doctor
Control UI (web)
The Control UI’s Logs tab tails the same file using logs.tail.
See /web/control-ui for how to open it.
Provider-only logs
To filter provider activity (WhatsApp/Telegram/etc), use:
clawdbot providers logs --provider whatsapp
Log formats
File logs (JSONL)
Each line in the log file is a JSON object. The CLI and Control UI parse these entries to render structured output (time, level, subsystem, message).
Console output
Console logs are TTY-aware and formatted for readability:
- Subsystem prefixes (e.g.
gateway/providers/whatsapp) - Level coloring (info/warn/error)
- Optional compact or JSON mode
Console formatting is controlled by logging.consoleStyle.
Configuring logging
All logging configuration lives under logging in ~/.clawdbot/clawdbot.json.
{
"logging": {
"level": "info",
"file": "/tmp/clawdbot/clawdbot-YYYY-MM-DD.log",
"consoleLevel": "info",
"consoleStyle": "pretty",
"redactSensitive": "tools",
"redactPatterns": [
"sk-.*"
]
}
}
Log levels
logging.level: file logs (JSONL) level.logging.consoleLevel: console verbosity level.
--verbose only affects console output; it does not change file log levels.
Console styles
logging.consoleStyle:
pretty: human-friendly, colored, with timestamps.compact: tighter output (best for long sessions).json: JSON per line (for log processors).
Redaction
Tool summaries can redact sensitive tokens before they hit the console:
logging.redactSensitive:off|tools(default:tools)logging.redactPatterns: list of regex strings to override the default set
Redaction affects console output only and does not alter file logs.
Troubleshooting tips
- Gateway not reachable? Run
clawdbot doctorfirst. - Logs empty? Check that the Gateway is running and writing to the file path
in
logging.file. - Need more detail? Set
logging.leveltodebugortraceand retry.