56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
|
|
# jibo-skills-logd
|
||
|
|
|
||
|
|
A tiny UDP logging daemon intended for **very old BusyBox + Python 2.7** robot environments.
|
||
|
|
|
||
|
|
## What it gives you
|
||
|
|
|
||
|
|
- A single place where all your scripts can log (JS, Python, shell)
|
||
|
|
- A single file you can `tail -f` on robot
|
||
|
|
- Minimal moving parts (no external deps)
|
||
|
|
|
||
|
|
## Files
|
||
|
|
|
||
|
|
- `tools/robot/logd/jibo_logd.py` — Python daemon (UDP → append to file)
|
||
|
|
- `tools/robot/init.d/jibo-skills-logd` — init.d service template
|
||
|
|
|
||
|
|
## Quick test (on robot)
|
||
|
|
|
||
|
|
Start the daemon in foreground:
|
||
|
|
|
||
|
|
- `python /opt/jibo/Jibo/Skills/tools/robot/logd/jibo_logd.py --host 127.0.0.1 --port 15140 --logfile /tmp/jibo-skills.log`
|
||
|
|
|
||
|
|
Send a message:
|
||
|
|
|
||
|
|
- `echo '{"tag":"test","level":"info","msg":"hello"}' | nc -u -w1 127.0.0.1 15140`
|
||
|
|
|
||
|
|
View:
|
||
|
|
|
||
|
|
- `tail -f /tmp/jibo-skills.log`
|
||
|
|
|
||
|
|
## Using from Node
|
||
|
|
|
||
|
|
In your skill code:
|
||
|
|
|
||
|
|
- `const rlog = require('@be/be/be/robot-logger');`
|
||
|
|
- `rlog.info('menu', 'injected entries', {count: 12});`
|
||
|
|
|
||
|
|
Env vars (optional):
|
||
|
|
|
||
|
|
- `JIBO_LOGD_HOST` (default `127.0.0.1`)
|
||
|
|
- `JIBO_LOGD_PORT` (default `15140`)
|
||
|
|
|
||
|
|
## Live web panel (optional)
|
||
|
|
|
||
|
|
There is also a tiny HTTP panel that streams the same logfile in real time (SSE).
|
||
|
|
|
||
|
|
- Script: `tools/robot/logpanel/jibo_logpanel.py`
|
||
|
|
- Init script: `/init.d/jibo-skills-logpanel`
|
||
|
|
|
||
|
|
Run (foreground):
|
||
|
|
|
||
|
|
- `python /opt/jibo/Jibo/Skills/tools/robot/logpanel/jibo_logpanel.py --bind 0.0.0.0 --port 15150 --logfile /tmp/jibo-skills.log`
|
||
|
|
|
||
|
|
Open in a browser:
|
||
|
|
|
||
|
|
- `http://<robot-ip>:15150/`
|