Skip to main content
Cette page décrit notre syntaxe de requête la plus récente. Pour la syntaxe utilisant attributes, consultez notre ancienne syntaxe de requête.
Le système de filtrage des logs d’AppSignal vous permet de rechercher et de filtrer les logs de votre application à l’aide d’une syntaxe de requête intuitive. Que vous deviez trouver des messages d’erreur spécifiques, filtrer par niveau de gravité ou effectuer des recherches dans des attributs personnalisés, notre langage de requête vous permet de cibler facilement exactement ce que vous cherchez. Capture d'écran d'un log développé
Vous n’avez pas besoin de saisir cette syntaxe manuellement. Sélectionnez la barre de recherche des logs : l’autocomplétion suggère des champs, des opérateurs et des niveaux de gravité à partir de vos logs. Les suggestions insèrent du texte dans la requête, et vous appuyez sur Entrée pour l’exécuter. Pour le déroulé complet, consultez Autocomplétion des requêtes de logs.

Démarrage rapide

Commencez avec ces requêtes simples :
Trouve les logs dont le message contient « timeout ».
Trouve tous les logs de niveau erreur.
Trouve les erreurs d’un serveur spécifique.

Champs disponibles

Vous pouvez interroger les champs suivants dans vos logs : Si aucun champ n’est fourni, la requête effectuera une recherche dans le champ message.

Opérateurs de requête

Opérateurs de recherche

Utilisez des guillemets pour les valeurs contenant des espaces : group:"background jobs" Comparez un champ à une chaîne vide pour filtrer les valeurs vides et non vides :
  • code="" correspond aux lignes de log où code est vide.
  • code!="" correspond aux lignes de log où code a une valeur non vide.

Correspondances partielles et caractères génériques

L’opérateur : correspond dès que la valeur apparaît n’importe où dans le champ. message:timeout trouve « Request timeout » et « timeout after 30s ». La correspondance est sensible à la casse, elle ne trouve donc pas « Timeout ». Il n’existe pas de caractère générique. Un astérisque est recherché littéralement, donc message:error* ne correspond qu’aux messages contenant le texte error*. Pour trouver les messages contenant « error », utilisez message:error. Les caractères % et _ sont eux aussi recherchés littéralement. Utilisez = lorsque le champ entier doit correspondre. Les correspondances exactes sont elles aussi sensibles à la casse.

Opérateurs de comparaison

Pour les valeurs numériques :

Attributs imbriqués

Nous utiliserons la structure JSON d’exemple suivante :
Interrogez les attributs JSON imbriqués à l’aide de la notation par points :
Accède aux propriétés d’objets imbriqués.
Interroge les éléments d’un tableau par index (à partir de zéro).
Échappez les points qui font partie du nom de champ lui-même à l’aide d’un backslash.

Combiner des requêtes

Logique AND (par défaut)

Les requêtes séparées par des espaces sont combinées avec AND :
Trouve les erreurs de production-1.

Logique OR

Utilisez OR pour faire correspondre n’importe quelle condition :
Trouve les erreurs ou les avertissements.

Regroupement avec des parenthèses

Utilisez des parenthèses pour les requêtes complexes :
Trouve les erreurs provenant de web-1 ou de web-2.