Log-sjabloon
Een doorlopende feed van maximaal 20 regels met de nieuwste bovenaan, elk met een optionele tijdstempel en ernst. De server bewaart een terug te scrollen backlog die je in de app kunt ophalen, terwijl de Live Activity altijd de meest recente regels toont.

Fields
| Field | Type | Description |
|---|---|---|
template | string | Required. Must be "log" |
lines | array | Required. 1–20 line objects, newest first (see below) |
title | string | Log heading shown above the feed |
state | string | Status text shown beside the title (e.g. the source name) |
icon | string | SF Symbol name (e.g. "doc.text") or MDI icon with mdi: prefix |
accent_color | string | Named color or hex used for the heading icon. Default: blue |
background_color | string | Background color override |
text_color | string | Text color override |
Line object
Each entry in lines is an object:
| Field | Type | Description |
|---|---|---|
text | string | Required. The log message. Max 512 characters |
at | integer | Unix timestamp (seconds) shown as the line's time |
level | string | One of info, warn, error — tints the line and its marker |
Info
Send the newest line first, up to 20 lines per push. To stream a feed, prepend the new line and re-send the array. The Live Activity always shows the most recent lines that fit the ~4 KB APNs payload.
Tip
The server keeps a rolling scroll-back backlog beyond what fits on screen. The PushWard app fetches it with GET /activities/{slug}?include=log_backlog to show full history in-app — the field is read-only and never needs to be sent.
Example: Streaming Deploy Log
Doorlopend deploylog
{
"state": "ongoing",
"content": {
"template": "log",
"title": "Deploy Log",
"state": "pushward-server",
"icon": "doc.text",
"accent_color": "purple",
"lines": [
{ "text": "Rollout complete — 3/3 pods healthy", "at": 1718990000, "level": "info" },
{ "text": "Image pull slow on node arm-2", "at": 1718989950, "level": "warn" },
{ "text": "Applied manifest revision d86246c", "at": 1718989930, "level": "info" },
{ "text": "Sync started by webhook", "at": 1718989900, "level": "info" }
]
}
}Typical Flow
- Start the feed (
ended -> ongoing): Send the first batch of lines, newest first - Append events (
ongoing -> ongoing): Prepend each new line and re-sendlines— older lines roll into the backlog - Finish (
ongoing -> ended): Send a closing line, then end the activity
Use Cases
- CI/CD — live deploy and pipeline logs
- Home automation — event feeds (motion, doors, presence)
- Monitoring — rolling alert and incident streams
- Self-hosting — download/import progress, backup steps, sync activity