É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.signupincrémente aussiauthetauth.user, - envoyer
auth.user.loginincrémente aussiauthetauth.user, - envoyer
billing.invoice.paidincrémente aussibillingetbilling.invoice.
Vous obtenez ainsi des vues par domaine sans avoir à dupliquer la donnée.
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.