Diagnostics Flags
Diagnostics Flags
Scope
Use this page when:
- You need targeted debug logs without raising global logging levels
- You need to capture subsystem-specific logs for support
Diagnostics flags let you enable targeted debug logs without turning on verbose logging everywhere. Flags are opt-in and have no effect unless a subsystem checks them.
How it works
- Flags are strings (case-insensitive).
- You can enable flags in config or via an env override.
- Wildcards are supported:
telegram.*matchestelegram.http*enables all flags
Enable via config
{
"diagnostics": {
"flags": ["telegram.http"]
}
}Multiple flags:
{
"diagnostics": {
"flags": ["telegram.http", "gateway.*"]
}
}Restart the gateway after changing flags.
Env override (one-off)
MOLTBOT_DIAGNOSTICS=telegram.http,telegram.payloadDisable all flags:
MOLTBOT_DIAGNOSTICS=0Where logs go
Flags emit logs into the standard diagnostics log file. By default:
/tmp/moltbot/moltbot-YYYY-MM-DD.logIf you set logging.file, use that path instead. Logs are JSONL (one JSON object per line). Redaction still applies based on logging.redactSensitive.
Extract logs
Pick the latest log file:
ls -t /tmp/moltbot/moltbot-*.log | head -n 1Filter for Telegram HTTP diagnostics:
rg "telegram http error" /tmp/moltbot/moltbot-*.logOr tail while reproducing:
tail -f /tmp/moltbot/moltbot-$(date +%F).log | rg "telegram http error"For remote gateways, you can also use moltbot logs --follow (see /cli/logs).
Notes
- If
logging.levelis set higher thanwarn, these logs may be suppressed. Defaultinfois fine. - Flags are safe to leave enabled; they only affect log volume for the specific subsystem.
- Use /logging to change log destinations, levels, and redaction.