Event levels
Use stable event IDs for machine processing. Add actor, object, facility, module, and structured tags rather than embedding all context in the message.
Exception logs
Exception logs preserve stack traces and nested exceptions that may be abbreviated in the event view. Correlate them with the event timestamp, actor, resource, and request ID. Remove secrets and unnecessary personal data before sharing a trace.Protocol sniffers
Sniffers can capture HTTP, XMPP client-to-server, XMPP server-to-server, SMTP, ledger, and other protocol traffic provided by installed modules.Operator notifications
Notification settings determine which events are only logged and which are pushed to operators. Configure high-signal events such as account or API-key creation, recovery requests, legal-identity review, automatic approval/rejection, and contract proposals. Avoid routing high-volume informational events as immediate alerts.Queue event sink
AnEventQueue sink can persist events in an encrypted FIFO queue so producers do not block on downstream processing. Configure a queue name, retention period, and sink ID in Gateway.config or the gateway configuration source. Consumers can dequeue locally or use the Queue API.
Queue design rules:
- make consumers idempotent;
- persist the last processed business identifier, not only an in-memory offset;
- choose retention longer than the maximum expected outage;
- monitor queue depth and oldest-item age;
- send poison events to an explicit dead-letter workflow.
Investigation order
- Confirm service state and current build.
- Search events around the first failure.
- Open the linked exception, if any.
- Check package/module load events after the last restart.
- Inspect listener and connection state.
- Enable the narrowest relevant sniffer for a short reproduction.
- Disable the sniffer and preserve only the evidence required.