JSON
Si vous spécifiez JSON comme format de journal, AppSignal analysera lemessage de journal entrant comme des paires clé-valeur. Chaque paire clé-valeur sera stockée comme attribut sur la ligne de journal, vous permettant de filtrer et rechercher des lignes de journal spécifiques en fonction de leurs attributs.
Exemples
L’exemple suivant montre comment AppSignal analyse unmessage de journal au format JSON.
Message
Le JSON ci-dessus sera analysé avec le message"this is a test message".
Vous pouvez utiliser la clé msg ou message pour remplacer le message.
Si aucune clé msg ou message n’est disponible, l’ensemble de la ligne de journal sera utilisé comme message.
Remplacements
Les attributs de journal de la plateforme ou de l’intégration (tels que hostname, timestamp et group définis par exemple par la plateforme Heroku) peuvent être remplacés par les valeurs du message JSON.
Le
severity peut contenir l’une des valeurs suivantes : unknown, trace, debug, info, notice, warn, error, critical, alert et fatal.
C’est une excellente façon de contrôler la sévérité de vos lignes de journal depuis l’application, indépendamment de la sévérité (généralement par défaut info) définie par la plateforme ou l’intégration.
Attributs
Toute autre paire clé/valeur est ajoutée comme attribut interrogeable :Règles de formatage
Les clés doivent être des chaînes alphanumériques. Les valeurs sous forme de tableau ne sont pas prises en charge.
- Si une paire clé-valeur a une clé portant le nom de
msgoumessage, 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.
- 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.
- Les valeurs peuvent contenir des objets imbriqués, mais pas des tableaux.
- Les valeurs peuvent être des types suivants :
- String
- Integer (par exemple
10) - Double (par exemple
10.01) - Boolean (
true/false) - Object (par exemple
{ "foo": "bar" })
..
Les paires clé-valeur qui ne suivent pas ces règles sont ajoutées au message d’un journal, sauf si une clé message ou msg est fournie.