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

# Formatage des journaux Logfmt

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

Logfmt est un format de journal facile à lire et à écrire pour les humains, et il est pris en charge par AppSignal. Il a d'abord été utilisé comme format pour les [Heroku Logdrains](/logging/platforms/heroku), et est maintenant utilisé par de nombreux autres fournisseurs de journalisation.

La plupart de nos plateformes et points de terminaison prennent en charge le format de message Logfmt, que nous décrirons plus en détail ci-dessous.

## Format

Logfmt est un format clé-valeur, où chaque paire clé-valeur est séparée par un espace. La clé et la valeur sont séparées par un signe égal (`=`). Les paires clé-valeur sont ajoutées au message à la fin de la ligne de journal.

Toutes les paires clé-valeur qui ne suivent pas le format Logfmt sont ajoutées au message de la ligne de journal.

### Exemples

Les exemples suivants montrent comment AppSignal analyse les journaux au format Logfmt :

#### Message avec attributs

<CodeGroup>
  ```shell Shell theme={null}
  this is foo=bar duration=10 a value="with spaces" message
  ```
</CodeGroup>

Ceci sera analysé comme une ligne de journal avec le message `"this is a message"`, et les attributs suivants : `{ "foo": "bar", "duration": 10, "value": "with spaces"}`

#### Message avec remplacement

<CodeGroup>
  ```shell Shell theme={null}
  this is foo=bar a duration=10 message message="I am a message"
  ```
</CodeGroup>

Ceci sera analysé comme une ligne de journal avec le message `"I am a message"`, et les attributs suivants : `{ "foo": "bar", "duration": 10 }`.

Le reste du message original est ignoré, au profit de la clé `message`.

#### Attributs uniquement

<CodeGroup>
  ```shell Shell theme={null}
  foo=bar duration=100
  ```
</CodeGroup>

Ceci sera analysé comme une ligne de journal avec le message `"foo=bar duration=100"`, et les attributs suivants : `{ "foo": "bar", "duration": 100 }`

## Règles de formatage

* Les clés doivent être alphanumériques.
* Les clés ne peuvent pas contenir d'espaces, mais peuvent contenir des points (`.`), des tirets bas (`_`) et des traits d'union (`-`).
* Les clés ne peuvent pas contenir plus de 50 caractères
* Les valeurs doivent commencer par un caractère alphanumérique et ne peuvent pas dépasser 100 caractères
* Pas plus de 25 attributs par message de journal.

Les paires clé-valeur qui ne suivent pas ces règles sont ajoutées au message d'un journal.

**Comportement des clés :**

* Si une clé n'a pas de valeur, elle sera ajoutée au champ message.
* Si une paire clé-valeur a une clé portant le nom de `msg` ou `message`, la valeur de cette clé sera analysée comme le message de journal.
* Si aucune clé message/msg n'est disponible, l'ensemble de la ligne de journal sera considéré comme le message.
