Logs

Notification logging is enabled by default.

Notification.log

The Notification Service introduces a new notification.log file that tracks the status of each notification send attempt. For more information, see Notification log specification

Example
{
  "time": "2018-04-09T17:28:07.468Z",
  "request_id": "32f6033e-bb22-4e3d-acd0-53fd611e0327",
  "notification_id": "1d8b6e0c-9f6a-489d-a177-c7b0ac7d1d35",
  "retried": false,
  "success": true,
  "request_time": "2018-04-09T17:28:07.392Z",
  "kafka_config_uuid": "00000000-0000-038f-0000-0000000003e4",
  "topic": "testTopic",
  "partition": 1,
  "offset": 29559,
  "bucket_name": "testBucket",
  "bucket_uuid": "02e2e1ea-b3ba-4ed7-8433-c76fbc171e45",
  "send_latency": 23,
  "matched_rules_count": 3,
  "format": "1.0"
}
Field Type Description
topic String The topic that the notification was sent to at the time of this send, when matched_rules_count > 0. The topic for a notification can change if a reconfiguration occurs while retries are being attempted.
send_latency   The latency in ms of the notification message sent to the Notification Service from the time of publish to the determination of status of the message (successful send/failure/timeout). The latency includes delays due to batching. This value is logged irrespective of whether the notification send attempt was successful or not.

This value is present when matched_rules_count > 0

exception String Optional, set if success field is false and matched_rules_count > 0. The class name of the exception and any addition data about the cause of the exception, if available.
request_id String The request ID for the operation, which matches the X-Clv-Request-Id response header and the request_id in access.log
request_time ISO 8601 time The time that the request occurred at, which matches the request_time field of the notification
time ISO 8601 time The time that this send was attempted
success Boolean True if the Kafka send was successful
retried Boolean True if this send was a retry from the notification retry queue
kafka_config_uuid UUID UUID of the notification configuration that was used to send the notification
notification_id UUID as a String

This identifier uniquely identifies each delivery attempt of a notification for an object-change event.

The value of this identifier changes with each attempt in contrast to the request_id (the identifier of the request resulting in this notification). The value is not contiguous relative to the previous attempt. The notification_id has context only when associated respect to the request_id.

The notification_id is generated at the time of the notification delivery attempt and is not stored in the intent on every delivery attempt. This field is present when matched_rules_count > 0

bucket_name String

The name of the bucket associated with the request.

In vault mode, a bucket can be renamed. This field specifies name of the bucket at the time of the object change event (specified in request_time).

bucket_uuid UUID as a String

The UUID of the bucket associated with the request.

In vault mode, this is the UUID of the vault.

In container mode, this is the UUID of the container.

matched_rules_count Integer

The total number of configured rules that are satisfied by this object-change event.

In Public Cloud, the list of rules that match are evaluated on every send attempt. Therefore if there is a change in the configuration of rules after the previous send attempt, the evaluation for notification can result in matched_rules_count being setting to 0 (i.e. no rules are satisfied). If there are no rules configured that match the object-change event or the bucket is deleted, then this notification is deleted/dropped (i.e. not sent to the Notification Service, and no additional retries). If the notification is dropped, then the log entry corresponding to this notification attempt has the "success" field is set to "false" and the "retried" field is set to "true".

Vault mode has no concept of rules and publishes in broadcast mode only. Therefore the matched_rules_count is always set to 1 in Vault mode, till such time that rules are supported.

partition Integer

The partition in the Notification Service that the notification was sent to.

This field is present only if the notification send attempt is acknowledged by the Notification Service broker prior to send timeout.

This field is not present if the notification send attempt fails due to timeout or other failure conditions occur prior to receiving a response from the Notification Service broker.

offset Long

The offset of the notification in the partition, if the notification attempt was successful.

This field is not present when the attempt to send the notification is not successful (i.e. "success" = "false").

format String Format version of the key in the format <majorVersionInteger>.<minorVersionInteger> Current value is "1.0"

Access.log

This feature introduces the notification_sent: true field to the access.log file to indicate that an operation attempted to send a notification. However, this doesn't inherently mean that the send was successful. To see the actual status of the send attempt, refer to the notification.log file.