Перейти к содержимому

Шаблон Log

Потоковая лента до 20 строк, сначала новые; у каждой опциональная метка времени и уровень важности. Сервер хранит архив для прокрутки назад, который можно загрузить в приложении, а Эфир активности всегда показывает самые свежие строки.

Демонстрация Эфира активности

Fields

FieldTypeDescription
templatestringRequired. Must be "log"
linesarrayRequired. 1–20 line objects, newest first (see below)
statestringStatus text shown beside the activity name (e.g. the source name)
iconstringSF Symbol name (e.g. "doc.text") or MDI icon with mdi: prefix
accent_colorstringNamed color or hex used for the heading icon. Default: green
background_colorstringBackground color override
text_colorstringText color override
Инфо

The heading above the feed is the activity's top-level name, not a content field. Set it when you create the activity.

Line object

Each entry in lines is an object:

FieldTypeDescription
textstringRequired. The log message. Max 512 characters
atintegerUnix timestamp (seconds) shown as the line's time
levelstringOne of info, warn, error — tints the line and its marker
Инфо

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.

💡 Совет

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

Потоковый лог развёртывания
{
  "state": "ongoing",
  "content": {
    "template": "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

  1. Start the feed (ended -> ongoing): Send the first batch of lines, newest first
  2. Append events (ongoing -> ongoing): Prepend each new line and re-send lines — older lines roll into the backlog
  3. 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