Zum Hauptinhalt springen
🔐 Senden Sie keine personenbezogenen Daten (Personal Identifiable Information, PII) an AppSignal. Filtern Sie PII (z. B. Namen, E-Mail-Adressen) aus Logs und verwenden Sie stattdessen eine ID, einen Hash oder einen pseudonymisierten Bezeichner.

Für HIPAA-pflichtige Stellen finden Sie weitere Informationen zum Abschluss eines Business Associate Agreement (BAA) in unserer Business Add-Ons-Dokumentation.
Diese Dokumentation erklärt, wie AppSignal in JSON formatierte Log-Nachrichten unterstützt.

JSON

Wenn Sie JSON als Ihr Log-Format angeben, parst AppSignal die eingehende Log-message als Schlüssel-Wert-Paare. Jedes Schlüssel-Wert-Paar wird als Attribut auf der Log-Zeile gespeichert, sodass Sie nach bestimmten Log-Zeilen anhand ihrer Attribute filtern und suchen können.

Beispiele

Das folgende Beispiel zeigt, wie AppSignal eine Log-message im JSON-Format parst.
{
  "timestamp": "2022-06-02T04:17:25.783Z",
  "group": "organisations",
  "severity": "warn",
  "hostname": "frontend1",
  "message": "This is a test message",
  "org": "appsignal",
  "step": 1,
  "seen_terms": true,
  "entries": 10.01,
  "user": { "id": 1, "remote_id": "123" }
}

Message

Das obige JSON wird mit der Nachricht "this is a test message" geparst. Sie können entweder den Schlüssel msg oder message verwenden, um die Nachricht zu überschreiben. Wenn kein msg- oder message-Schlüssel verfügbar ist, wird die gesamte Log-Zeile als Nachricht verwendet.

Überschreibungen

Die Log-Attribute der Plattform oder Integration (wie hostname, timestamp und group, die z. B. von der Heroku-Plattform gesetzt werden) können mit den Werten aus der JSON-Nachricht überschrieben werden.
Attribute KeyType
groupString
severitySeverity
hostnameString
messageString
Die severity kann einen der folgenden Werte enthalten: unknown, trace, debug, info, notice, warn, error, critical, alert und fatal. Dies ist eine hervorragende Möglichkeit, die Severity Ihrer Log-Zeilen aus Ihrer Anwendung heraus zu steuern, unabhängig von der (in der Regel auf info voreingestellten) Severity, die von der Plattform oder Integration gesetzt wurde.

Attribute

Jedes andere Schlüssel/Wert-Paar wird als durchsuchbares Attribut hinzugefügt:
Attribute KeyTypeValue
orgString”appsignal”
stepInt1
seen_termsBooltrue
entriesDouble10.01
user.idInt1
user.remote_idString”123”

Formatierungsregeln

Schlüssel müssen alphanumerische Zeichenketten sein. Array-Werte werden nicht unterstützt.
Verhalten von Schlüsseln:
  • Wenn ein Schlüssel-Wert-Paar einen Schlüssel mit dem Namen msg oder message hat, wird der Wert dieses Schlüssels als Log-Nachricht geparst.
  • Wenn kein message-/msg-Schlüssel verfügbar ist, wird die gesamte Log-Zeile als Nachricht betrachtet.
  • Schlüssel müssen alphanumerisch sein.
  • Schlüssel dürfen keine Leerzeichen enthalten, dürfen aber Punkte (.), Unterstriche (_) und Bindestriche (-) enthalten.
  • Schlüssel dürfen nicht mehr als 50 Zeichen enthalten
Verhalten von Werten:
  • Werte dürfen nicht länger als 255 Zeichen sein
  • Nicht mehr als 25 Attribute pro Log-Nachricht.
  • Werte dürfen verschachtelte Objekte enthalten, aber keine Arrays.
  • Werte dürfen einen der folgenden Typen haben:
    • String
    • Integer (z. B. 10)
    • Double (z. B. 10.01)
    • Boolean (true/false)
    • Object (z. B. { "foo": "bar" })
Bei verschachtelten Objekten werden die Attribute geflacht und mit einem .-Zeichen getrennt. Schlüssel-Wert-Paare, die diesen Regeln nicht entsprechen, werden an die Nachricht eines Logs angehängt, sofern kein message- oder msg-Schlüssel angegeben ist.