> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# JSON-logformattering

<Warning>
  🔐 Stuur geen <strong>Persoonlijk Identificeerbare Informatie (PII)</strong> naar AppSignal. Filter PII (bijv. namen, e-mailadressen) uit logs en gebruik in plaats daarvan een ID, hash of gepseudonimiseerde identificator. <br /> <br /> Voor **onder HIPAA vallende entiteiten** vindt u meer informatie over het ondertekenen van een Business Associate Agreement (BAA) in onze [documentatie over Business Add-Ons](/support/business-add-ons).
</Warning>

Deze documentatie legt uit hoe AppSignal logberichten in JSON-formaat ondersteunt.

## JSON

Als u JSON als uw logformaat opgeeft, parseert AppSignal het binnenkomende log-`message` als sleutel-waardeparen. Elk sleutel-waardepaar wordt opgeslagen als een attribuut op de logregel, waardoor u kunt filteren op en zoeken naar specifieke logregels op basis van hun attributen.

### Voorbeelden

Het volgende voorbeeld laat zien hoe AppSignal een log-`message` in het JSON-formaat parseert.

<CodeGroup>
  ```json JSON theme={null}
  {
    "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" }
  }
  ```
</CodeGroup>

#### Bericht

De bovenstaande JSON wordt geparst met het bericht `"this is a test message"`.
U kunt de sleutel `msg` of `message` gebruiken om het bericht te overschrijven.

Als er geen `msg`- of `message`-sleutel beschikbaar is, wordt de volledige logregel als bericht gebruikt.

#### Overschrijvingen

De log-attributen van het platform of de integratie (zoals hostname, timestamp en group, ingesteld door bijvoorbeeld het Heroku-platform) kunnen worden overschreven door de waarden uit het JSON-bericht.

| Attribuutsleutel | Type     |
| ---------------- | -------- |
| group            | String   |
| severity         | Severity |
| hostname         | String   |
| message          | String   |

De `severity` kan een van de volgende waarden bevatten: `unknown`, `trace`, `debug`, `info`, `notice`, `warn`, `error`, `critical`, `alert` en `fatal`.

Dit is een uitstekende manier om de severity van uw logregels vanuit de applicatie te beheren, ongeacht de (meestal standaard `info`) severity die door het platform of de integratie wordt ingesteld.

#### Attributen

Elk ander sleutel-waardepaar wordt toegevoegd als doorzoekbaar attribuut:

| Attribuutsleutel | Type   | Waarde      |
| ---------------- | ------ | ----------- |
| org              | String | "appsignal" |
| step             | Int    | 1           |
| seen\_terms      | Bool   | true        |
| entries          | Double | 10.01       |
| user.id          | Int    | 1           |
| user.remote\_id  | String | "123"       |

## Formatteringsregels

<Note>
  Sleutels moeten alfanumerieke strings zijn. Array-waarden worden niet
  ondersteund.
</Note>

**Gedrag van sleutels:**

* Als een sleutel-waardepaar een sleutel heeft met de naam `msg` of `message`, wordt de waarde van deze sleutel geparst als het logbericht.
* Als er geen message/msg-sleutel beschikbaar is, wordt de volledige logregel als het bericht beschouwd.
* Sleutels moeten alfanumeriek zijn.
* Sleutels mogen geen spaties bevatten, maar mogen wel punten (`.`), underscores (`_`) en koppeltekens (`-`) bevatten.
* Sleutels mogen niet meer dan 50 tekens bevatten

**Gedrag van waarden:**

* Waarden mogen niet langer zijn dan 255 tekens
* Niet meer dan 25 attributen per logbericht.
* Waarden mogen geneste Objects bevatten, maar geen Arrays.
* Waarden kunnen van de volgende typen zijn:
  * String
  * Integer (bijv. `10`)
  * Double (bijv. `10.01`)
  * Boolean (`true`/`false`)
  * Object (bijv. `{ "foo": "bar" }`)

Voor geneste objecten worden de attributen afgevlakt, gescheiden door een `.`-teken.

Sleutel-waardeparen die niet aan deze regels voldoen, worden aan het bericht van een log toegevoegd, tenzij een `message`- of `msg`-sleutel wordt verstrekt.
