Aller au contenu principal

Événement

Abyss Monitor permet d'envoyer des événements depuis votre Application. Chaque événement est stocké avec ses détails (nom, niveau, données supplémentaires) et peut être lié à un log pour une traçabilité complète.

Les événements vous aident à suivre l'activité fonctionnelle de votre Application : inscription utilisateur, paiement, erreur métier, action critique, etc.

Convention de nommage​

Les noms d'événement utilisent la notation pointée a.b.c. Cette structure permet une agrégation automatique dans Abyss Monitor :

  • envoyer auth.user.signup incrémente aussi auth et auth.user,
  • envoyer auth.user.login incrémente aussi auth et auth.user,
  • envoyer billing.invoice.paid incrémente aussi billing et billing.invoice.

Vous obtenez ainsi des vues par domaine sans avoir à dupliquer la donnée.

info

Restez cohérent dans la hiérarchie : entity.action ou domain.entity.action. Les noms en SCREAMING_CASE ou en kebab-case fonctionnent, mais évitez de mélanger les styles entre événements.

Niveaux​

Chaque événement porte un level (DEBUG, INFO, WARN, ERROR, CRITICAL). Le niveau sert au filtrage dans l'interface et aux règles d'alerte ou de webhook.

Envoyer un événement​

Côté code, ajoutez applicationEvent à un log :

logger.info('User signup !', {
applicationEvent: {
event: 'auth.user.signup',
level: LogLevel.INFO,
data: { userId: user.id },
},
});

Le log est envoyé à Abyss Monitor, l'événement est extrait, agrégé et stocké. Les données du champ data sont conservées et consultables sur la page de l'événement.

Consulter vos événements​

Depuis l'onglet Événements de votre Application, vous pouvez :

  • filtrer par nom (préfixe, exact, niveau),
  • voir le volume d'événements par jour / heure,
  • consulter le détail d'un événement (log associé, données supplémentaires),
  • recouper un événement avec les logs de la même requête.

Les événements peuvent également déclencher des webhooks de scope EVENT pour relayer l'information vers un système externe.