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.