> ## 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.

# Configuration HTTP-JSON

<Warning>
  🔐 N'envoyez pas d'<strong>informations personnelles identifiables (PII)</strong> à AppSignal. Filtrez les PII (par exemple, noms, e-mails) des journaux et utilisez un identifiant, un hash ou un identifiant pseudonymisé à la place. <br /> <br /> Pour les **entités couvertes par la HIPAA**, plus d'informations sur la signature d'un Business Associate Agreement (BAA) sont disponibles dans notre [documentation Business Add-Ons](/support/business-add-ons).
</Warning>

## Point de terminaison

Vous pouvez `POST` des journaux à AppSignal. Vos journaux doivent être formatés en [`NDJSON`](#ndjson) et envoyés au point de terminaison suivant :

<CodeGroup>
  ```shell Shell theme={null}
  https://appsignal-endpoint.net/logs/json?api_key=YOUR_LOG_SOURCE_API_KEY
  ```
</CodeGroup>

## NDJSON

Notre point de terminaison HTTP-JSON attend que les journaux soient envoyés au format `NDJSON` à notre point de terminaison.
`NDJSON` signifie Newline Delimited JSON, ce qui signifie que chaque ligne de journal est son propre objet JSON, par exemple :

<CodeGroup>
  ```shell Shell theme={null}
  {"timestamp": "2022-06-02T04:17:25.783Z", "message": "foo", [...]}
  {"timestamp": "2022-06-02T04:17:26.000Z", "message": "bar", [...]}
  ```
</CodeGroup>

### Données requises

Voici un exemple d'un message `NDJSON` (mis en forme). Vous pouvez en savoir plus sur les données dont AppSignal a besoin dans la section [Champs requis](#required-fields).

#### Exemple de message

<Warning>
  **Attention :** Ceci est formaté avec des sauts de ligne pour la lisibilité. Votre client
  **doit** envoyer la ligne de journal sur une seule ligne, sans saut de ligne.
</Warning>

<CodeGroup>
  ```json JSON theme={null}
  {
    "timestamp": "2022-06-02T04:17:25.783Z",
    "group": "organisations",
    "severity": "warn",
    "message": "This is a test message",
    "hostname": "frontend1",
    "attributes": {
      "org": "appsignal",
      "step": 1,
      "seen_terms": true,
      "entries": 10.01
    }
  }
  ```
</CodeGroup>

#### Champs requis

<Warning>
  AppSignal supprimera silencieusement tout message qui ne contient pas les champs
  requis ci-dessous ou toute valeur incorrecte.
</Warning>

La charge utile `NDJSON` que vous envoyez à AppSignal doit contenir les champs suivants :

#### timestamp

Un horodatage formaté en `RFC 3339` avec une précision en nanosecondes à 3 chiffres.

```yaml YAML theme={null}
YYYY-MM-DDThh:mm:ss.sss
2022-01-12T07:20:50.520Z
```

#### group

Chaîne d'un mot qui permet à l'utilisateur de séparer les lignes de journal selon un certain contexte (par exemple, les journaux d'une partie spécifique de votre application, le groupe pourrait être "admin", "payments", "database" ou "background").

#### severity

Le champ severity accepte les valeurs suivantes : `unknown`, `trace`, `debug`, `info`, `notice`, `warn`, `error`, `critical`, `alert` et `fatal`.

#### message

Message `Plaintext`.

#### hostname

Nom d'hôte du serveur qui envoie le message.

#### Champs optionnels

Les champs suivants sont optionnels mais recommandés pour des données de journal plus riches :

#### attributes

Attributs pouvant être utilisés pour filtrer ou rechercher le message, avec les règles suivantes :

* Les attributs ne peuvent pas être imbriqués ni contenir de tableaux
* La taille maximale d'une clé est de `50` caractères
* Le nombre maximum d'attributs est de `100`
* Les primitives suivantes sont acceptées comme valeurs :
  * String : idéalement utilisé comme "tags", par exemple des valeurs d'un mot, avec un maximum de `100` caractères
  * Integer : `10`
  * Double : `0.01`
  * Boolean : `true`/`false`

#### format

Remplace le format configuré de la source de journaux lors de l'analyse du `message`. Accepte `plaintext`, `logfmt`, `json` ou `autodetect` ; les valeurs inconnues sont ignorées.
