Event
Abyss Monitor lets you send events from your Application. Each event is stored with its details (name, level, extra data) and can be linked to a log for full traceability.
Events help you track the functional activity of your Application: user signup, payment, business error, critical action, etc.
Naming convention
Event names use dotted notation a.b.c. This structure enables automatic aggregation in Abyss Monitor:
- sending
auth.user.signupalso incrementsauthandauth.user, - sending
auth.user.loginalso incrementsauthandauth.user, - sending
billing.invoice.paidalso incrementsbillingandbilling.invoice.
You get domain-level views without duplicating data.
Stay consistent with your hierarchy: entity.action or domain.entity.action. SCREAMING_CASE or kebab-case names work, but avoid mixing styles between events.
Levels
Each event carries a level (DEBUG, INFO, WARN, ERROR, CRITICAL). The level is used for filtering in the UI and for alert or webhook rules.
Send an event
In your code, attach applicationEvent to a log:
logger.info('User signup !', {
applicationEvent: {
event: 'auth.user.signup',
level: LogLevel.INFO,
data: { userId: user.id },
},
});
The log is sent to Abyss Monitor, the event is extracted, aggregated and stored. Whatever you put in data is kept and visible on the event page.
Inspect your events
From the Events tab of your Application you can:
- filter by name (prefix, exact, level),
- see the event volume per day / hour,
- inspect an event's detail (linked log, extra data),
- cross-reference an event with the logs of the same request.
Events can also trigger webhooks with scope EVENT to forward the information to an external system.