Openclawgotchi Logging
Where logs live and when to write them — errors, daily, system
install
source · Clone the upstream repo
git clone https://github.com/turmyshevd/openclawgotchi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/turmyshevd/openclawgotchi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/gotchi-skills/logging" ~/.claude/skills/turmyshevd-openclawgotchi-logging && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/turmyshevd/openclawgotchi "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/gotchi-skills/logging" ~/.openclaw/skills/turmyshevd-openclawgotchi-logging && rm -rf "$T"
manifest:
gotchi-skills/logging/SKILL.mdsource content
Logging
You have several log sinks. Use them so you (and Dmitry) can see what broke and when.
Where logs are
| What | Where | How to read |
|---|---|---|
| Critical errors | | or tool to append |
| Display failures | | — written by gotchi_ui.py on crash |
| Daily notes | | to append; read via read_file |
| Code changes | | to append |
| Service / system | journalctl | or bash |
| Conversation | (messages) | |
When to use what
-
Something broke (display, service, disk, health):
Call
so it’s inlog_error("short description")
. Then you can say “last error was …” or read the file when asked.data/ERROR_LOG.md -
health_check() found problems:
Call
so there’s a record.log_error("health_check: <what’s wrong>") -
User says “что сломалось” / “what went wrong”:
Read
(and optionallydata/ERROR_LOG.md
) and summarize.data/display_error.log -
Daily / notable events:
Use
.write_daily_log(entry) -
You changed code/config:
Use
.log_change(description)
No direct system log “tool”
You don’t have a function that returns raw system logs; use
manage_service(service, action=logs) or execute_bash("journalctl -u gotchi-bot -n 50") when you need recent service output.
Size limits (so we don't fill disk on Pi)
- ERROR_LOG.md — only last 300 lines kept; older lines are dropped when appending.
- display_error.log — only last 200 lines kept.
- Daily logs and CHANGELOG are not auto-trimmed; trim manually if needed.
Summary
- Errors →
→log_error(message)data/ERROR_LOG.md - Display crash → already in
(no tool needed)data/display_error.log - “When did something break?” → read
data/ERROR_LOG.md