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.