Przejdź do głównej zawartości

GET /api/log/events/?page=1&pageSize=1&direct=desc

Pobiera stronę zdarzeń dziennika przy użyciu stabilnej paginacji.

Uwierzytelnianie: Bearer.


ParametrTypWymaganeDomyślnieOpis
pageliczbanie*—Numer strony, począwszy od 1. Używany tylko w pierwszym żądaniu serii. Ignorowany, jeśli podano cursor.
pageSizeliczbatak—Liczba zdarzeń na stronę. Prawidłowy zakres: 1..8.
directciąg znakównie"desc"Kierunek sortowania: "asc" — od najstarszych do najnowszych; "desc" — od najnowszych do najstarszych.
severityMaskliczbaniewszystkie (31)Maska bitowa poziomów ważności: bit0=DEBUG, bit1=INFO, bit2=WARNING, bit3=ERROR, bit4=FAULT.
cursorliczbanie*—Kursor służący do kontynuowania zapytania. Zobacz poniżej.

*Wymagany jest parametr page albo cursor.

Kursor zapewnia stabilną, sekwencyjną paginację bez duplikatów ani luk.

  • Pierwsze żądanie w serii: klient wysyła page=1 i pomija cursor. Serwer rozpoczyna zapytanie od lastSequence (desc) albo oldestSequence (asc).
  • Odpowiedź zawiera nextCursor, czyli pozycję, od której należy kontynuować.
  • Kolejne żądania: klient wysyła cursor z poprzedniej odpowiedzi; parametr page jest ignorowany.
  • Koniec zapytania: nextCursor: null oznacza, że nie ma więcej dostępnych danych.
  • Nowa seria (podczas przechodzenia do innej strony interfejsu): klient resetuje cursor i ponownie rozpoczyna od page=1.

{
"nextCursor": 249,
"eventCount": 1,
"events": [
{
"sequence": 250,
"timestamp": "2026-04-16T12:00:00Z",
"errorCode": 0,
"pending": true,
"severity": "WARNING",
"dataType": "GENERIC",
"generic": {
"message": "Channel 1 open circuit"
}
}
]
}
PoleTypOpis
nextCursorliczba|nullKursor dla następnego żądania. null, jeśli osiągnięto koniec zapytania.
eventCountliczbaLiczba zdarzeń w bieżącym zestawie wyników (0..pageSize).
eventstablicaZdarzenia w kolejności określonej przez direct.

Jeśli nie ma więcej dostępnych danych, odpowiedź zawiera eventCount: 0, events: [] oraz nextCursor: null. Nie jest to błąd.

PoleTypWymaganeOpis
sequenceliczbatakNumer sekwencyjny zdarzenia
timestampciąg znakówtakISO 8601 UTC
errorCodeliczbatakKod błędu
pendingwartość logicznataktrue, jeśli zdarzenie nie zostało jeszcze potwierdzone w bieżącej sesji zasilania
severityciąg znakówtak"DEBUG", "INFO", "WARNING", "ERROR", "FAULT"
dataTypeciąg znakówtak"GENERIC", "FAULT", "NETWORK"
genericobiektnieObecne, jeśli dataType = "GENERIC"
faultobiektnieObecne, jeśli dataType = "FAULT"
networkobiektnieObecne, jeśli dataType = "NETWORK"
PoleTypOpis
messageciąg znakówTreść zdarzenia
PoleTypOpis
taskNameciąg znakówNazwa zadania
registersciąg znakówPojedynczy ciąg znaków w postaci PC=... LR=... SP=... CFSR=... HFSR=... MMFAR=... BFAR=... R0=... R1=... R2=... R3=... R12=... xPSR=...
PoleTypOpis
messageciąg znakówTekst
remoteIpciąg znakówZdalny adres IP
remotePortliczbaPort zdalny
localPortliczbaPort lokalny
lwipErrorliczbaKod błędu lwIP

Scenariusz: wypełnienie strony interfejsu 25 zdarzeniami (5 żądań po 5)

Dział zatytułowany „Scenariusz: wypełnienie strony interfejsu 25 zdarzeniami (5 żądań po 5)”
GET /api/log/events/?page=1&pageSize=5&direct=desc&severityMask=31
→ { "nextCursor": 245, "eventCount": 5, "events": [...] }
GET /api/log/events/?cursor=245&pageSize=5&direct=desc&severityMask=31
→ { "nextCursor": 240, "eventCount": 5, "events": [...] }
GET /api/log/events/?cursor=240&pageSize=5&direct=desc&severityMask=31
→ { "nextCursor": 235, "eventCount": 5, "events": [...] }
GET /api/log/events/?cursor=235&pageSize=5&direct=desc&severityMask=31
→ { "nextCursor": 230, "eventCount": 5, "events": [...] }
GET /api/log/events/?cursor=230&pageSize=5&direct=desc&severityMask=31
→ { "nextCursor": null, "eventCount": 5, "events": [...] }

Pierwsze żądanie używa page=1; kolejne używają parametru cursor z poprzedniej odpowiedzi. Parametr cursor zapobiega ponownemu przeszukiwaniu przez serwer już odczytanych rekordów, co jest szczególnie ważne podczas filtrowania za pomocą parametru severityMask.