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

# Journaux

> Suivez et recherchez les journaux d'application depuis le terminal, et gérez les métriques dérivées des journaux et les déclencheurs basés sur les journaux.

La commande `logs` apporte les journaux de votre application dans le terminal : suivez-les à mesure qu'ils arrivent, recherchez sur une plage de temps, et gérez les métriques dérivées des journaux et les déclencheurs basés sur les journaux qui en sont construits.

## Options communes

Chaque commande `logs` identifie une application, et utilise votre organisation par défaut sauf si vous lui indiquez autrement :

| Option                | Description                                                                                                                          |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `--app <name>`        | Nom de l'application (ajoutez `--environment` quand plus d'une application partage le nom)                                           |
| `--environment <env>` | Environnement, utilisé avec `--app`                                                                                                  |
| `--app-id <id>`       | L'ID de l'application (une longue chaîne hexadécimale provenant de `appsignal-cli apps list`), au lieu de `--app` et `--environment` |
| `--org <slug>`        | Slug de l'organisation (utilise votre valeur par défaut si omis)                                                                     |

## Suivre les journaux

Diffusez les lignes de journal à mesure qu'elles arrivent (la CLI interroge toutes les secondes) :

```sh Shell theme={null}
appsignal-cli logs tail --app "MyApp" --environment production
```

## Rechercher dans les journaux

Recherchez les lignes de journal passées et imprimez les correspondances. Par exemple, trouvez les lignes de niveau erreur récentes :

```sh Shell theme={null}
appsignal-cli logs search --app "MyApp" --environment production --query "severity:error"
```

Par défaut, `search` retourne jusqu'à 100 des correspondances les plus récentes. En plus des options et filtres communs, elle ajoute :

| Option              | Description                                                                                                |
| ------------------- | ---------------------------------------------------------------------------------------------------------- |
| `--start <ISO8601>` | Heure de début, par exemple `2025-01-01T00:00:00Z`                                                         |
| `--end <ISO8601>`   | Heure de fin                                                                                               |
| `--limit <N>`       | Nombre maximum de lignes à retourner (max 100, également la valeur par défaut)                             |
| `--order <ORDER>`   | `ASC` (plus anciennes d'abord) ou `DESC` (plus récentes d'abord, par défaut)                               |
| `--page-all`        | Récupérer chaque ligne correspondante dans la plage. Nécessite `--start`, et ignore `--limit` et `--order` |

Pour extraire toutes les lignes d'une fenêtre au format JSON, pour un script ou un agent :

```sh Shell theme={null}
appsignal-cli --output json logs search --app "MyApp" --environment production \
  --start "2025-01-01T00:00:00Z" --query "severity:error" --page-all
```

## Filtres

`tail` et `search` partagent ces filtres :

| Option                | Description                                                                                        |
| --------------------- | -------------------------------------------------------------------------------------------------- |
| `--query <text>`      | Filtre de requête de journal, utilisant la [syntaxe de requête](/logging/query-syntax) d'AppSignal |
| `--severities <list>` | Sévérités séparées par des virgules, par exemple `ERROR,CRITICAL`                                  |
| `--source-ids <list>` | IDs de source séparés par des virgules                                                             |
| `--view <name-or-id>` | Appliquer les filtres d'une vue de journal sauvegardée comme valeurs par défaut                    |

Listez les vues disponibles pour une application avec `appsignal-cli logs views`, puis passez-en une à `--view` par nom ou ID. Tout autre filtre que vous ajoutez remplace les valeurs par défaut sauvegardées de la vue. Par exemple, appliquez une vue mais restreignez-la aux lignes critiques :

```sh Shell theme={null}
appsignal-cli logs search --app "MyApp" --environment production \
  --view "Production errors" --severities CRITICAL
```

### Syntaxe de requête

L'option `--query` utilise la [syntaxe de requête de journal](/logging/query-syntax) d'AppSignal. Modèles courants :

* `severity=error` : correspondance exacte de champ
* `message:timeout` : le message contient « timeout »
* `group=notifiers` : correspondance exacte de groupe
* `hostname:web-1` : le nom d'hôte contient « web-1 »
* Les termes séparés par des espaces se combinent avec `AND` ; utilisez `OR` pour des alternatives

Les crochets ont une signification spéciale dans le parseur, alors entourez-les de guillemets pour correspondre littéralement : `message:"[Email]"`.

## Vues et sources sauvegardées

Listez les vues de journal sauvegardées (préréglages de filtres) et les sources de journal d'une application :

```sh Shell theme={null}
appsignal-cli logs views --app "MyApp" --environment production
appsignal-cli logs sources --app "MyApp" --environment production
```

Passez le nom ou l'ID d'une vue à `--view`, et l'ID d'une source à `--source-ids`.

## Métriques dérivées des journaux

`logs metrics` transforme les lignes de journal correspondantes en métriques, avec `list`, `create`, `update` et `delete` :

```sh Shell theme={null}
appsignal-cli logs metrics create --app "MyApp" --environment production \
  --name "Checkout latency" \
  --query "group:checkout" \
  --metric "name=log.checkout_duration_ms,type=distribution,field=duration_ms" \
  --source-id <SOURCE_ID>
```

`create` et `update` partagent ces options (`create` nécessite `--name`, `--query` et au moins une `--metric`) :

| Option             | Description                                                                                                                |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| `--name <name>`    | Nom de la configuration de métrique                                                                                        |
| `--query <text>`   | Requête correspondant aux lignes de journal à mesurer                                                                      |
| `--metric <def>`   | Définition de métrique sous la forme `key=value` (répéter pour plusieurs), par exemple `name=log.error_count,type=counter` |
| `--source-id <id>` | Restreindre à un ID de source (répéter pour plusieurs)                                                                     |

`update` peut prendre les options supplémentaires suivantes. Les options `--clear-*` vident les champs au lieu de les mettre à jour.

| Option            | Description                                                      |
| ----------------- | ---------------------------------------------------------------- |
| `--id <id>`       | La métrique à mettre à jour, depuis `logs metrics list` (requis) |
| `--clear-metrics` | Supprimer toutes les définitions de métriques                    |
| `--clear-sources` | Supprimer toutes les restrictions de source                      |

`delete` ne prend que `--id`.

<Note>
  Une métrique dérivée des journaux ne commence à collecter des données qu'une fois qu'elle est restreinte à une source de journal, alors passez `--source-id` (trouvez les IDs avec `appsignal-cli logs sources`). La CLI ne peut pas définir le filtre de sévérité d'une métrique ; si votre métrique en a besoin d'un, définissez le champ Severity dans l'interface utilisateur de l'application AppSignal après l'avoir créée.
</Note>

## Déclencheurs basés sur les journaux

`logs triggers` alerte sur les lignes de journal correspondantes, avec `list`, `create`, `update` et `delete` :

```sh Shell theme={null}
appsignal-cli logs triggers create --app "MyApp" --environment production \
  --name "Root login" \
  --query "message:root" \
  --severity ERROR \
  --notifier-id <NOTIFIER_ID>
```

`create` et `update` partagent ces options (`create` nécessite `--name` et `--query`) :

| Option                 | Description                                                          |
| ---------------------- | -------------------------------------------------------------------- |
| `--name <name>`        | Nom du déclencheur                                                   |
| `--query <text>`       | Requête correspondant aux lignes de journal sur lesquelles alerter   |
| `--severity <level>`   | Faire correspondre uniquement ces sévérités (répéter pour plusieurs) |
| `--notifier-id <id>`   | Attacher un notifier (répéter pour plusieurs)                        |
| `--source-id <id>`     | Restreindre à un ID de source (répéter pour plusieurs)               |
| `--description <text>` | Description du déclencheur                                           |

`update` peut prendre les options supplémentaires suivantes. Les options `--clear-*` vident les champs au lieu de les mettre à jour.

| Option                | Description                                                          |
| --------------------- | -------------------------------------------------------------------- |
| `--id <id>`           | Le déclencheur à mettre à jour, depuis `logs triggers list` (requis) |
| `--clear-description` | Supprimer la description                                             |
| `--clear-notifiers`   | Supprimer tous les notifiers                                         |
| `--clear-severities`  | Supprimer toutes les sévérités                                       |
| `--clear-sources`     | Supprimer toutes les restrictions de source                          |

`delete` ne prend que `--id`.

<Note>
  Ce sont des déclencheurs basés sur les journaux, construits à partir des lignes de journal. Pour les déclencheurs de détection d'anomalies sur les métriques, voir [Déclencheurs](/cli/triggers).
</Note>

## Prochaines étapes

Vous avez trouvé quelque chose dans les journaux ? Ouvrez les [incidents](/cli/incidents) associés, ou configurez des [déclencheurs de détection d'anomalies](/cli/triggers).
