Configurer la journalisation
Vous n’avez pas besoin de créer une source de journaux pour envoyer des journaux depuis l’intégration AppSignal for Node.js. Une source de journaux “application” sera créée automatiquement.Utilisation autonome
Pour utiliser le logger, vous devez importer AppSignal et configurer le logger en utilisant la fonction.logger().
La fonction .logger() accepte deux arguments : group et éventuellement severityThreshold. Si severityThreshold n’est pas fourni, il sera par défaut info.
trace, debug, info, log, warn et error, chacun avec sa propre fonction du même nom. Ces fonctions acceptent deux arguments message et attributes. Attributes est utilisé pour les métadonnées et est optionnel.
Les messages ne seront enregistrés que si leur niveau de sévérité est supérieur au seuil de sévérité.
Utiliser plusieurs backends de journalisation
Il n’est actuellement pas possible d’envoyer des journaux à plusieurs backends en utilisant le logger standard de Node.js. Pour des configurations plus complexes, nous recommandons d’utiliser une bibliothèque de journalisation comme Winston ou Pino.Utilisation avec Winston
Si vous utilisez Winston pour enregistrer des messages dans votre application, vous pouvez utiliser notre transport Winston pour envoyer ces journaux à AppSignal. Après avoir importé le transport depuis l’intégration AppSignal, ajoutez-le à la liste des transports dans votre logger Winston :Child Logger
Vous pouvez utiliser un child logger pour ajouter des tags supplémentaires aux messages de journal. Vous définissez des tags lors de la création de la constante du child logger ou vous passez des tags en tant que métadonnées lors de l’écriture d’un message de journal. Disons que nous voulons un contexte plus important dans nos journaux des actions d’un utilisateur particulier au sein d’une session spécifique. Dans l’exemple ci-dessous, un child logger pour le groupebackground est utilisé pour ajouter sessionID avec les tags supplémentaires drinkID et paymentID fournis en tant que métadonnées lors de la création d’un message de journal, et si un groupe est donné au child, il remplacera celui configuré dans le transport.
Utiliser plusieurs backends de journalisation
Pour envoyer des journaux à la fois au logger d’AppSignal et àSTDOUT, ajoutez un autre transport :
Utilisation avec Pino
Si Pino est votre bibliothèque de journalisation préférée, vous pouvez utiliser le transport AppSignal Pino pour envoyer des journaux à AppSignal. L’argument group sera par défaut “app” s’il n’est pas fourni.Utiliser plusieurs backends de journalisation
Pour envoyer des journaux à la fois au logger d’AppSignal et àSTDOUT, ajoutez une autre cible :
Formats
Format détecté automatiquement
Le package AppSignal for Node.js détectera automatiquement le format de la ligne de journal comme JSON, Logfmt ou plaintext par défaut, et en analysera les attributs. Vous n’avez pas besoin de définir manuellement le format du journal, sauf s’il n’est pas correctement détecté. Veuillez également nous le signaler si cela ne fonctionne pas automatiquement.Logfmt
Le logger AppSignal peut être configuré explicitement pour attendre que la ligne soit formatée en Logfmt et en analyser les attributs. Utilisez cette option lorsque vous utilisez une version plus ancienne du package AppSignal for Node.js, qui ne prend pas en charge la détection automatique du format. Le format de journal peut être spécifié lors de la création d’un logger. Lors de l’initialisation du logger AppSignal, passez la valeur"logfmt" comme troisième argument.
JSON
Le logger AppSignal peut être configuré explicitement pour attendre que la ligne soit formatée en JSON et en analyser les attributs. Utilisez cette option lorsque vous utilisez une version plus ancienne du package AppSignal for Node.js, qui ne prend pas en charge la détection automatique du format. Le format de journal peut être spécifié lors de la création d’un logger. Lors de l’initialisation du logger AppSignal, passez la valeur"json" comme troisième argument.
Filtrage des journaux
Vous pouvez utiliser l’option de configurationignoreLogs pour ignorer les lignes de journal en fonction de leur message. Consultez notre guide Ignore Logs pour en savoir plus.