Zum Hauptinhalt springen

Ereignisprotokoll

Das Ereignisprotokoll eines Tenants besteht aus den Runtime-Entitäten des Typs Event (und des abgeleiteten Typs StatefulEvent) des Construction-Kit-Modells System.Notification. Dienste schreiben dorthin, wenn etwas Bemerkenswertes passiert, zum Beispiel wenn ein Archiv seinen Status ändert, ein Construction-Kit-Modell importiert wird oder ein Aufruf wegen einer fehlenden Berechtigung abgelehnt wird.

Felder eines Ereignisses​

FeldTypBedeutung
messageStringLesbarer Text des Ereignisses
levelEnumInformation, Warning, Error oder Critical
sourceEnumDer Dienst, der das Ereignis geschrieben hat
categoryString, optionalStabile, durch Punkte gegliederte Kennung der Art des Ereignisses, zum Beispiel Archive.Transition oder CkModelImport.ExtensibleEnumOverride
detailsListe von Schlüssel/Wert-Paaren, optionalStrukturierte Details des Ereignisses, zum Beispiel die Id des Archivs sowie sein alter und neuer Status

category und details gibt es ab System.Notification 2.7.0. Ereignisse, die davor oder von einem Dienst geschrieben wurden, der die Felder noch nicht kennt, haben beides nicht und werden wie bisher gelesen.

Die Werte in details sind Text. Zahlen und Datumswerte werden mit der invarianten Kultur geschrieben (Datumswerte als ISO 8601), Listen als kommagetrennter Text, Einträge ohne Wert entfallen. Details nennen Kennungen, Anzahlen und Zeitpunkte. Sie enthalten niemals Zugangsdaten, Tokens oder die Werte von Methodenparametern.

Ereignisprotokoll nach Kategorie filtern​

Mit dem Feldfilter auf category lesen Sie eine Art von Ereignis. Wählen Sie details aus, um die strukturierten Werte zu erhalten, statt den Text der Meldung zu zerlegen:

{
runtime {
systemNotificationEvent(
fieldFilter: [{ attributePath: "category", operator: EQUALS, comparisonValue: "Archive.Transition" }]
) {
totalCount
items {
rtId
message
level
category
details {
key
value
}
}
}
}
}

Mit operator: LIKE und comparisonValue: "Archive.*" lesen Sie eine ganze Gruppe von Kategorien.