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

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

Le point de terminaison HTTP est le point de terminaison le plus flexible pour envoyer des journaux à AppSignal.
Vous pouvez formater le message de plusieurs façons comme décrit ci-dessous.

Si vous utilisez un langage qui dispose d'une bibliothèque d'intégration pour AppSignal, nous vous recommandons d'utiliser l'une des [bibliothèques d'intégration](/logging/integrations) plutôt que le point de terminaison HTTP.

Si vous créez une intégration personnalisée, nous vous recommandons d'utiliser le point de terminaison [HTTP-JSON](/logging/endpoints/http-json) pour garantir que les messages sont formatés exactement comme prévu.

## Point de terminaison

Vous pouvez `POST` des journaux à AppSignal. Vos journaux doivent être formatés en `JSON`, `Logfmt` ou `Plaintext` et envoyés au point de terminaison suivant :

```sh Shell theme={null}
https://appsignal-endpoint.net/logs?api_key=YOUR_LOG_SOURCE_API_KEY
```

*Remplacez `YOUR_LOG_SOURCE_API_KEY` par la clé fournie lors de la [création d'une source de journaux](/logging/configuration#creating-a-log-source).*

Nous utiliserons l'heure à laquelle nos serveurs reçoivent la requête `POST` comme horodatage du journal. La sévérité par défaut sera `INFO`. Vous pouvez envoyer les paramètres `hostname`, `severity` et `group/appname` en les ajoutant à l'URL, par exemple :

```sh Shell theme={null}
https://appsignal-endpoint.net/logs?group=app&hostname=frontend1&severity=debug&api_key=YOUR_LOG_SOURCE_API_KEY
```

Vous pouvez envoyer plusieurs lignes de journal en séparant chaque ligne de journal par un caractère de saut de ligne : `\n`

## Messages structurés

Afin d'ajouter des métadonnées supplémentaires à une ligne de journal, vous pouvez envoyer un message structuré.

### Plaintext

Par défaut, la source est créée avec le formateur `Plaintext` sélectionné,
vous pouvez envoyer n'importe quelle chaîne comme partie message de la ligne de journal, par exemple :

<CodeGroup>
  ```shell Shell theme={null}
  This is a log message
  And this is another message
  ```
</CodeGroup>

Cela donnera deux lignes de journal avec le message `This is a log message` et `And this is another message` respectivement.

### Logfmt

Lorsque `Logfmt` est sélectionné comme format de message, vous pouvez envoyer une ligne de journal avec des paires clé-valeur séparées par un espace, par exemple :

<CodeGroup>
  ```shell Shell theme={null}
  This is a log message user_id=123 action=login
  This is another log message user_id=123 action=logout
  ```
</CodeGroup>

Cela donnera deux lignes de journal avec le message `This is a log message` et `This is another log message` respectivement, et les attributs suivants :

<CodeGroup>
  ```json JSON theme={null}
  {
    "user_id": 123,
    "action": "login"
  }
  ```
</CodeGroup>

<CodeGroup>
  ```json JSON theme={null}
  {
    "user_id": 123,
    "action": "logout"
  }
  ```
</CodeGroup>

### JSON

Lorsque `JSON` est sélectionné comme format de message, vous pouvez envoyer une ligne de journal avec un objet JSON, par exemple :

<CodeGroup>
  ```shell Shell theme={null}
  {"message": "This is a log message", "user_id": 123, "action": "login"}
  {"msg": "This is another log message", "user_id": 123, "action": "logout"}
  ```
</CodeGroup>

Nous attendons soit une clé `msg` soit une clé `message` pour le message de la ligne de journal, et toutes les autres clés seront ajoutées comme attributs. Si aucune clé `msg` ou `message` n'est fournie, nous utiliserons l'intégralité de l'objet JSON (non analysé) comme message. Les attributs seront tout de même analysés et ajoutés à cette ligne.

Vous pouvez en savoir plus sur les spécificités du formatage des messages dans notre documentation sur le [formatage](/logging/formatting).
