Unified logging: rsyslog as the system logger, the ForgeFIRM log tree

rsyslog replaces busybox syslogd/klogd (VIRTUAL-RUNTIME_base-utils-syslog,
trimmed PACKAGECONFIG) and becomes the only log writer: the appended
/etc/rsyslog.conf sets the inputs and the ff_line format and includes
the per-logger rules that `forgectrl --render-syslog` renders from the
machine settings at boot. forgefirm-logrotate becomes forgefirm-logging:
render before rsyslog starts (S19), sweep the pre-syslog log files into
/data/forgefirm/legacy-logs once, and rotate the tree at boot and hourly
by rename + HUP instead of copytruncate. Pins bumped to the pushed
forgectrl (syslog emitter, Logs tab, export), grblHAL-glowforge (syslog
emitter) and python3-gfhardware apps (syslog handlers, capture dir);
the CI harnesses set FFLOG_STDERR=1 so failure diagnostics keep the
controller's log lines. BRINGUP carries the bench validation checklist
(Next work item 14); this is an image change and rides the next flash.
This commit is contained in:
ScottW514
2026-08-15 14:37:33 -04:00
parent b08e5ab929
commit 6050c0e703
16 changed files with 257 additions and 95 deletions
+5
View File
@@ -34,6 +34,11 @@ machine is idle:**
* A **web control panel** on port 8080: machine status and position, coolant
and fan telemetry, safety-switch states, camera view, machine settings,
hardware diagnostics, firmware updates, and boot-slot management.
* **Unified logging**: every ForgeFIRM component logs through syslog into its
own directory under `/data/log/forgefirm`, with per-logger levels for the
device and for an optional remote syslog server, a live viewer in the
panel, and a one-click log bundle — sanitized of identifying details — for
attaching to an issue report.
* Both **cameras** as MJPEG streams and full-resolution snapshots — the lid
camera feeds LightBurn's camera overlay directly.
* **Camera-referenced homing**: `$H` from any sender runs the factory-style