Daemon log
This page is about the daemon’s own log: what runwisp daemon writes to stderr,
which ends up in docker logs or journalctl. The output of your tasks is
stored per run; see Run logs.
2026-05-27 14:03:01 [INFO] run started task=backup run=01J...2026-05-27 14:03:04 [INFO] run succeeded task=backup run=01J... exit=0 dur=3.5s2026-05-27 14:07:00 [WARN] run failed task=report run=01J... exit=2 reason=failed dur=412msThe daemon writes one line when a run starts, succeeds, or fails, plus a warning when a task hits the disk-space limit. Around those are startup, readiness, and shutdown lines.
The log is set with flags and environment variables, not in runwisp.toml.
runwisp daemon --log-level debugRUNWISP_LOG_LEVEL=debug runwisp daemondebug, info (default), warn, or error. Any other value is an error at
startup.
Format
Section titled “Format”RUNWISP_LOG_FORMAT=json runwisp daemon| Value | Output |
|---|---|
auto (default) |
2026-… [INFO] message key=value lines, colored only on a terminal. |
text |
The same lines, never colored. |
json |
One JSON object per line, for log pipelines. |
{ "time": "2026-05-27T14:03:04.918+02:00", "level": "INFO", "msg": "run succeeded", "task": "backup", "run": "01J...", "exit": 0, "dur": 3500000000}When stderr isn’t a terminal (Docker, journald, a file), the daemon drops color
and replaces the startup banner with a few plain [INFO] lines carrying the
same facts: version, paths, task count, warnings. NO_COLOR
also turns color off on a terminal.
Timestamps
Section titled “Timestamps”Text lines carry a local 2026-05-27 14:03:01 timestamp. Under systemd
(detected by JOURNAL_STREAM), the daemon leaves it out because journald adds
its own. JSON always has a full RFC 3339 time field.
Startup and shutdown
Section titled “Startup and shutdown”Once the API answers, the daemon logs:
[INFO] ready, listening url=http://localhost:9477The URL uses external_url when set, and
shows a 0.0.0.0 bind as localhost.
On Ctrl+C or SIGTERM, it names the signal, logs each shutdown step, and
prints the total time:
[INFO] received signal, shutting down signal=interrupt[INFO] draining HTTP requests and closing station connection[INFO] stopping scheduler and waiting for in-flight runs in_flight=1 timeout=30s[INFO] shutdown complete elapsed=842ms