🔐 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 Key | Type |
|---|
| group | String |
| severity | Severity |
| hostname | String |
| message | String |
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 Key | Type | Value |
|---|
| org | String | ”appsignal” |
| step | Int | 1 |
| seen_terms | Bool | true |
| entries | Double | 10.01 |
| user.id | Int | 1 |
| user.remote_id | String | ”123” |
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.