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

# Attributs de journal

<Tip>
  Vous souhaitez tirer le meilleur parti de vos journaux ? Lisez notre [article du Learning Center sur
  les bonnes pratiques de
  journalisation](https://www.appsignal.com/learning-center/what-logs-should-i-store)
  pour plus d'informations sur la bonne utilisation des journaux de votre application.
</Tip>

Les meilleurs journaux sont descriptifs, contextuels et concis. Les attributs vous permettent de stocker, interroger et filtrer rapidement les informations contextuelles clés des journaux de votre application.

Les attributs sont pris en charge avec les formats de journal [Logfmt][logfmt-docs], [JSON][json-docs] et [NDJSON][ndjson-docs].

<h2 id="formatting">
  Formatage
</h2>

AppSignal analysera les journaux reçus de votre source en se basant sur des paires clé-valeur, en stockant chaque clé et valeur comme attributs sur la ligne de journal, vous permettant de filtrer les lignes de journal sur ces attributs.

Formatage des attributs avec :

* [Logfmt](#logfmt)
* [JSON et NDJSON](#json-and-ndjson)

<h3 id="logfmt">
  Logfmt
</h3>

En Logfmt, les attributs peuvent être ajoutés aux lignes de journal :

```text Text theme={null}
this is foo=bar a duration=10 message message="I am a message"
```

Par exemple, la ligne de journal ci-dessus sera analysée comme une ligne de journal avec le message `"I am a message"`, et les attributs suivants :

<CodeGroup>
  ```json JSON theme={null}
  { "foo": "bar", "duration": 10 }
  ```
</CodeGroup>

[En savoir plus sur le formatage des journaux Logfmt.](/logging/formatting/logfmt)

<h3 id="json-and-ndjson">
  JSON et NDJSON
</h3>

En JSON, les attributs peuvent être ajoutés dans un hash sous la clé `attributes` :

```text Text 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
  }
}
```

Par exemple, la ligne de journal ci-dessus sera analysée comme une ligne de journal avec le message `"This is a test message"`, et les attributs suivants :

<CodeGroup>
  ```json JSON theme={null}
  { "org": "appsignal", "step": 1, "seen_terms": true, "entries": 10.01 }
  ```
</CodeGroup>

[En savoir plus sur le formatage des journaux JSON/NDJSON.](/logging/formatting/json)

<h2 id="querying-attributes-in-appsignal">
  Interrogation des attributs dans AppSignal
</h2>

Dans AppSignal, vous pouvez rechercher des journaux qui correspondent à des conditions d'attribut spécifiques.

Par exemple, la requête suivante renverrait tous les journaux avec un attribut `article_id` contenant la valeur 7 :

```text Text theme={null}
attributes.article_id=7
```

Consultez notre [documentation sur la gestion des journaux](/logging/query-syntax) pour une explication complète de notre syntaxe de recherche de journalisation.

Lorsqu'un journal est développé, les attributs seront répertoriés sous le message de journal :

<img src="https://mintcdn.com/appsignal-715f5a51/4TRZP0Sq9Zq7PAPW/assets/images/screenshots/logging/formatting/expanded-log-line.png?fit=max&auto=format&n=4TRZP0Sq9Zq7PAPW&q=85&s=e6626beedd58d340de11271b643d79d9" alt="Ligne de journal développée avec tableau d'attributs" width="2038" height="1286" data-path="assets/images/screenshots/logging/formatting/expanded-log-line.png" />

<h2 id="formatting-rules">
  Règles de formatage
</h2>

Les valeurs d'attribut peuvent être de l'un des types suivants :

* string
* integer (par exemple `10`)
* double (par exemple `10.01`)
* boolean (`true`/`false`)

Les clés d'attribut doivent respecter les règles suivantes :

* 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 ne doivent pas dépasser 255 caractères
* Pas plus de 25 attributs par message de journal.

Si les clés et les valeurs d'attribut ne respectent pas les règles ci-dessus, le comportement suivant peut être attendu :

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

[json-docs]: /logging/formatting/json.html#json

[logfmt-docs]: /logging/formatting/logfmt.html

[ndjson-docs]: /logging/endpoints/http-json#ndjson
