Logging
Format
Open Notificaties emits structured logs (using structlog). A log line can be formatted like this:
{
"event":"notification_received",
"channel_name":"zaken",
"resource":"zaak",
"user_id":null,
"resource_url":"http://openzaak.local/zaken/api/v1/zaken/1234",
"additional_attributes":{
"bronorganisatie":"000000000",
"zaaktype":"http://openzaak.local/catalogi/api/v1/zaaktypen/1234",
"zaaktype.catalogus":"http://openzaak.local/catalogi/api/v1/catalogussen/1234",
"vertrouwelijkheidaanduiding":"openbaar"
},
"action":"create",
"request_id":"5aa21b5c-d113-4dfa-a3c1-164ce7f325c8",
"main_object_url":"http://openzaak.local/zaken/api/v1/zaken/1234",
"creation_date":"2025-05-23T12:18:25.162276Z",
"timestamp":"2025-05-23T12:18:25.162276Z",
"logger":"nrc.api.serializers",
"level":"info"
}
Each log line will contain an event type, a timestamp and a level.
Dependent on your configured LOG_LEVEL (see Environment configuration reference for more information),
only log lines with of that level or higher will be emitted.
Open Notificaties log events
Below is the list of logging event types that Open Notificaties can emit. In addition to the mentioned
context variables, these events will also have the request bound metadata described in the django-structlog documentation.
API
notification_received: a notification was received via the/notificatiesendpoint. Additional context:channel_nameresourceresource_urlmain_object_urlcreation_dateactionadditional_attributes
notification_successful: a notification was successfully forwarded to a subscribed callback URL. Additional context:channel_nameresourceresource_urlmain_object_urlcreation_dateactionadditional_attributessubscription_pknotification_idsubscription_callbacknotification_attempt_countthe amount of times this task has been started for this notificationtask_attempt_count: the number of times this specific task has been attempted
notification_failed: a non success status code was returned while sending the notification to a subscribed callback URL. Additional context:channel_nameresourceresource_urlmain_object_urlcreation_dateactionadditional_attributessubscription_pknotification_idsubscription_callbackhttp_status_codenotification_attempt_countthe amount of times this task has been started for this notificationtask_attempt_count: the number of times this specific task has been attempted
notification_error: an error occurred while trying to send the notification to a subscribed callback URL. Additional context:channel_nameresourceresource_urlmain_object_urlcreation_dateactionadditional_attributessubscription_pknotification_idsubscription_callbackexc_infonotification_attempt_countthe amount of times this task has been started for this notificationtask_attempt_count: the number of times this specific task has been attempted
subscription_does_not_exist: could not retrieve anAbonnementfor this pk and can therefore not deliver a message to this subscriber. Additional context:channel_nameresourceresource_urlmain_object_urlcreation_dateactionadditional_attributessubscription_pknotification_id
Setup configuration
subscription_created: successfully created an Abonnement (subscription). Additional context:subscription_uuid,subscription_pk.subscription_updated: successfully updated an Abonnement (subscription). Additional context:subscription_uuid,subscription_pk.channel_created: successfully created a Kanaal (channel). Additional context:channel_name,channel_pk.channel_updated: successfully updated a Kanaal (channel). Additional context:channel_name,channel_pk.
Schema generation
unknown_openapi_action: when generating the API schema, an unknown action was encountered and therefore no error responses can be shown. Additional context:action.
Third party library events
For more information about log events emitted by third party libraries, refer to the documentation for that particular library