Logs
systemg writes internal operational logs and captures service stdout/stderr by default.What’s logged
- Service lifecycle (start, stop, restart, crash)
- Cron job execution
- Configuration changes
- Supervisor events
Location
~/.local/share/systemg/logs/supervisor.log (user mode)
/var/log/systemg/supervisor.log (system mode)
Service output is isolated by project:
~/.local/share/systemg/logs/{project}/{service}.log(user mode)/var/log/systemg/{project}/{service}.log(system mode)
{service}.log. sysg logs reads that stored file; it does not attach to the
original process streams.
Info: The default service log is stacked in capture order. Each line gets a systemg UTC capture timestamp plus a stream label, such asstdoutorstderr, sosysg logs --kind stderrcan filter lines without needing a second stderr file.
Service output configuration
Default log size cap. Each service’s active log file rotates at 10 MB
(
max_bytes, 10485760 bytes), and systemg keeps 5 rotated files
(max_files) per log. So a single service’s captured output is bounded to
roughly 60 MB on disk (1 active + 5 rotated) before the oldest is dropped.
Raise or lower these with a logs block; set sink: none to capture nothing.logs block to set defaults for all services:
logs block to override the global defaults:
file- Capture stdout/stderr and write systemg-managed log files.none- Discard stdout/stderr without creating log-writer threads or files.
max_bytes controls active file rotation for the file sink. max_files controls how many numbered rotated files are retained. Set sink: none for high-output services when another logging pipeline is already responsible for collection.
View logs
Log levels
Set verbosity when starting:trace (5), debug (4), info (3), warn (2), error (1), off (0)
Log format
[TIMESTAMP] [LEVEL] [MODULE]: [MESSAGE]
Common messages
Service events
Cron events
Supervisor events
Supervisor log rotation
The supervisor log uses thesupervisor.xml log defaults: a 10 MB active-file
limit and five rotated files unless changed by the operator. Services can
override those defaults in their project manifest. No external rotator is
required.
The system installer also writes
/etc/logrotate.d/systemg with
copytruncate. Do not rename an active supervisor log by hand: an open writer
can continue writing to the renamed file.Troubleshooting
Log file missing- Check systemg has started
- Verify directory exists
- Try
--log-level debug - Check services are running
- Configure service log rotation with
logs.max_bytesandlogs.max_files - Prune rotated backups with
sysg logs --prune --max-size <size>or--max-age <age> - Reduce log level

