Passer au contenu principal
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é

Démarrage rapide

Commencez avec ces requêtes simples :
timeout
Recherche « timeout » dans le champ message.
severity=error
Trouve tous les logs de niveau erreur.
severity=error hostname=production-web-1
Trouve les erreurs d’un serveur spécifique.

Champs disponibles

Vous pouvez interroger les champs suivants dans vos logs :
ChampDescriptionExemple
severityNiveau de log (error, warning, info, debug, trace)severity=error
hostnameHôte de l’applicationhostname=production-1
groupEspace de noms défini pour votre applicationgroup="background jobs"
messageContenu du message de logmessage:timeout
Attributs personnalisésTout attribut personnalisé défini dans vos logsduration>10.1
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

OpérateurSyntaxeDescriptionExemple
:field:valueContient la valeurmessage:error
!:field!:valueNe contient pas la valeurhostname!:test
=field=valueCorrespondance exacteseverity=error
!=field!=valueDifférent desource!=mongodb
Utilisez des guillemets pour les valeurs contenant des espaces : group:"background jobs"

Opérateurs de comparaison

Pour les valeurs numériques :
OpérateurSyntaxeDescriptionExemple
>attribute>valueSupérieur àduration>100
<attribute<valueInférieur àuser_id<1000
>=attribute>=valueSupérieur ou égal àduration>=100
<=attribute<=valueInférieur ou égal àuser_id<=1000

Attributs imbriqués

Nous utiliserons la structure JSON d’exemple suivante :
{
  "message": "User logged in",
  "group": "admin",
  "hostname": "production-1",
  "user": {
    "id": 123,
    "name": "John Doe",
    "emails": ["john@example.com", "john@work.com"],
    "location.country": "US"
  }
}
Interrogez les attributs JSON imbriqués à l’aide de la notation par points :
user.id=123
Accède aux propriétés d’objets imbriqués.
user.emails.0=john@example.com
Interroge les éléments d’un tableau par index (à partir de zéro).
user.location\.country=US
É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 :
severity=error hostname=production-1
Trouve les erreurs de production-1.

Logique OR

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

Regroupement avec des parenthèses

Utilisez des parenthèses pour les requêtes complexes :
severity=error AND (hostname=web-1 OR hostname=web-2)
Trouve les erreurs provenant de web-1 ou de web-2.