日志
面向用户的概览(CLI + Control UI + 配置)见 日志。Moltbot 有两类日志「面」:
- 控制台输出(终端 / Debug UI 中看到的内容)。
- 文件日志(JSON 行)由网关 logger 写入。
基于文件的 logger
- 默认滚动日志文件在
/tmp/moltbot/下(按天):moltbot-YYYY-MM-DD.log。日期使用网关主机的本地时区。 - 日志文件路径与级别可通过
~/.clawdbot/moltbot.json配置:logging.file、logging.level。文件格式为每行一个 JSON 对象。Control UI 的 Logs 标签页通过网关(logs.tail)跟踪该文件。CLI 同样可以:moltbot logs --follow。
详细 vs 日志级别:文件日志仅由 logging.level 控制。--verbose 只影响控制台详细程度(及 WS 日志样式);不会提高文件日志级别。若要在文件日志中记录仅详细模式下的内容,请将 logging.level 设为 debug 或 trace。
控制台捕获
CLI 会捕获 console.log/info/warn/error/debug/trace 并写入文件日志,同时仍输出到 stdout/stderr。可通过 logging.consoleLevel(默认 info)、logging.consoleStyle(pretty | compact | json)独立调整控制台详细程度。
工具摘要脱敏
详细工具摘要(如 🛠️ Exec: ...)在进入控制台流之前可对敏感 token 脱敏。仅针对工具,不修改文件日志。logging.redactSensitive:off | tools(默认 tools)。logging.redactPatterns:正则字符串数组(覆盖默认)。使用裸正则字符串(自动 gi),或 /pattern/flags 以使用自定义标志。匹配会保留前 6 与后 4 个字符(长度 >= 18)进行脱敏,否则显示 ***。
网关 WebSocket 日志
网关以两种模式打印 WebSocket 协议日志:普通模式(无 --verbose):仅打印「有意义」的 RPC 结果(错误、慢调用、解析错误)。详细模式(--verbose):打印所有 WS 请求/响应流量。moltbot gateway 支持:--ws-log auto(默认)、--ws-log compact、--ws-log full、--compact(--ws-log compact 的别名)。示例:moltbot gateway、moltbot gateway --verbose --ws-log compact、moltbot gateway --verbose --ws-log full。
控制台格式(子系统日志)
控制台格式化器感知 TTY,输出带前缀的一致行。子系统 logger 保持输出分组且易扫读。行为:每行子系统前缀(如 [gateway]、[canvas]、[tailscale]);子系统颜色(按子系统稳定)及级别颜色;在 TTY 或类似富终端环境下使用颜色,遵守 NO_COLOR;缩短的子系统前缀;按子系统的子 logger;logRaw() 用于 QR/UX 输出(无前缀、无格式化);控制台样式(如 pretty | compact | json);控制台日志级别与文件日志级别分离。WhatsApp 消息体在 debug 级别记录(使用 --verbose 查看)。