public class LogRequest extends VaultRequest<LogRequest>
Modifier and Type | Class and Description |
---|---|
static class |
LogRequest.AuditTrailType
Enum for the various audit trail formats
|
static class |
LogRequest.FormatResultType
JSON or CSV Result Types
|
static class |
LogRequest.LogFormatType
log_format for the api_usage request
|
HTTP_HEADER_AUTHORIZATION, HTTP_HEADER_REFERENCE_ID, HTTP_HEADER_VAULT_CLIENT_ID, referenceId, vaultClient
Modifier and Type | Method and Description |
---|---|
VaultResponse |
downloadSdkRuntimeLog(LocalDate logDate)
Download SDK Runtime Log
|
<T> T |
retrieveAuditDetails(LogRequest.AuditTrailType auditTrailType)
Retrieve Audit Details
|
<T> T |
retrieveAuditDetailsByPage(LogRequest.AuditTrailType auditTrailType,
String pageUrl)
Retrieve Audit Details (By Page)
|
AuditMetadataResponse |
retrieveAuditMetadata(LogRequest.AuditTrailType auditTrailType)
Retrieve Audit Metadata
|
AuditTypesResponse |
retrieveAuditTypes()
Retrieve Audit Types
|
DocumentAuditResponse |
retrieveCompleteAuditHistoryForASingleDocument(int docId)
Retrieve Complete Audit History for a Single Document
|
ObjectAuditResponse |
retrieveCompleteAuditHistoryForASingleObjectRecord(String objectName,
String recordId)
Retrieve Complete Audit History for a Single Object Record
|
VaultResponse |
retrieveDailyAPIUsage(LocalDate logDate)
Retrieve Daily API Usage
|
<T> T |
retrieveEmailNotificationHistory()
Retrieve Email Notification History
|
LogRequest |
setAllDates(Boolean allDates)
Used to request audit information for all dates
|
LogRequest |
setEndDate(LocalDate endDate)
Specify an end date to retrieve email notification history.
|
LogRequest |
setEndDateTime(ZonedDateTime endDate)
Specify an end date and time to retrieve audit information or email notification history
|
LogRequest |
setEvents(Set<String> events)
Specify audit events when retrieving object or documents audit trails
|
LogRequest |
setFormatResult(LogRequest.FormatResultType formatResult)
The format of the returned results (JSON or CSV)
|
LogRequest |
setLimit(Integer limit)
The maximum number of results to return
|
LogRequest |
setLogFormat(LogRequest.LogFormatType logFormat)
Specify the format to download
|
LogRequest |
setOutputPath(String outputPath)
Specify source data in an output file
|
LogRequest |
setStartDate(LocalDate startDate)
Specify a start date to retrieve email notification history.
|
LogRequest |
setStartDateTime(ZonedDateTime startDate)
Specify a start date and time to retrieve audit information or email notification history
|
getBaseObjectMapper, send, send, sendReturnBinary, sendReturnBinary, sendToFile, sendToFile, setHeaderReferenceId, setVaultClient
public AuditTypesResponse retrieveAuditTypes()
Retrieves all available audit types you have permission to access.
GET /api/{version}/metadata/audittrail
AuditTypesResponse resp = vaultClient.newRequest(LogRequest.class) .retrieveAuditTypes();
for (AuditType a : resp.getAuditTypes()) { System.out.println("Name = " + a.getName()); System.out.println("Label = " + a.getLabel()); System.out.println("Url = " + a.getUrl()); }
public AuditMetadataResponse retrieveAuditMetadata(LogRequest.AuditTrailType auditTrailType)
Retrieve all fields and their metadata for a specified audit trail or log type.
auditTrailType
- The name of the specified audit type (The AuditTrailType enum values translate to document_audit_trail, object_audit_trail, etc.).GET /api/{version}/metadata/audittrail/{audit_trail_type}
AuditMetadataResponse resp = vaultClient.newRequest(LogRequest.class) .retrieveAuditMetadata(LogRequest.AuditTrailType.DOCUMENT);
AuditMetadata metadata = resp.getData(); System.out.println("Name = " + metadata.getName()); System.out.println("Label = " + metadata.getLabel()); System.out.println("Fields ****"); for (AuditMetadata.Field f : metadata.getFields()) { System.out.println("**** Field **** "); System.out.println("Name = " + f.getName()); System.out.println("Label = " + f.getLabel()); System.out.println("Type = " + f.getType()); }
public <T> T retrieveAuditDetails(LogRequest.AuditTrailType auditTrailType)
Retrieve audit details for a specific audit type. This request supports parameters to narrow the results to specific audit events, or a specified date and time within the past 30 days.
NOTE: Only returns the first page; use retrieveAuditDetailsByPage paginate through previous and next pages
T
- Response Type classauditTrailType
- The name of the specified audit type (The AuditTrailType enum values translate to document_audit_trail, object_audit_trail, etc.).GET /api/{version}/audittrail/{audit_trail_type}
Example 1 - DocumentAuditResponse DocumentAuditResponse resp = vaultClient.newRequest(LogRequest.class) .setStartDate(ZonedDateTime.now(ZoneId.of("UTC")).minusDays(29)) .setEndDate(ZonedDateTime.now(ZoneId.of("UTC")).minusDays(1)) .setLimit(4) .setEvents(new HashSet<>(Arrays.asList("UploadDocBulk", "ExportBinder"))) .retrieveAuditDetails(LogRequest.AuditTrailType.DOCUMENT);,
Example 3 - DomainAuditResponse DomainAuditResponse resp = vaultClient.newRequest(LogRequest.class) .setStartDate(ZonedDateTime.now(ZoneId.of("UTC")).minusDays(10)) .retrieveAuditDetails(LogRequest.AuditTrailType.DOMAIN);,
Example 3 - LoginAuditResponse LoginAuditResponse resp = vaultClient.newRequest(LogRequest.class) .setStartDate(ZonedDateTime.now(ZoneId.of("UTC")).minusDays(10)) .retrieveAuditDetails(LogRequest.AuditTrailType.LOGIN);,
Example 4 - ObjectAuditResponse ObjectAuditResponse resp = vaultClient.newRequest(LogRequest.class) .setStartDate(ZonedDateTime.now(ZoneId.of("UTC")).minusDays(10)) .setEvents(new HashSet<>(Arrays.asList("Create", "Update"))) .retrieveAuditDetails(LogRequest.AuditTrailType.OBJECT);,
Example 5 - JobCreateResponse JobCreateResponse resp = vaultClient.newRequest(LogRequest.class) .setAllDates(true) .setFormatResult(LogRequest.FormatResultType.CSV) .retrieveAuditDetails(LogRequest.AuditTrailType.DOMAIN);
Example 1 - DocumentAuditResponse AuditDetailsResponse.ResponseDetails details = resp.getResponseDetails(); System.out.println("Offset = " + details.getOffset()); System.out.println("Limit = " + details.getLimit()); System.out.println("Size = " + details.getSize()); System.out.println("Total = " + details.getTotal()); System.out.println("Object/Name = " + details.getDetailsObject().getName()); System.out.println("Object/Label = " + details.getDetailsObject().getLabel()); System.out.println("Object/Url = " + details.getDetailsObject().getUrl()); System.out.println("Items ****"); for (DocumentAuditData data : resp.getData()) { System.out.println("\n**** Data Item **** "); System.out.println("id = " + data.getId()); System.out.println("timestamp = " + data.getTimestamp()); System.out.println("UserName = " + data.getUserName()); System.out.println("Full Name = " + data.getFullName()); System.out.println("Action = " + data.getAction()); System.out.println("Item = " + data.getItem()); System.out.println("Field Name = " + data.getFieldName()); System.out.println("Workflow Name = " + data.getWorkflowName()); System.out.println("Task Name = " + data.getTaskName()); System.out.println("Signature Meaning = " + data.getSignatureMeaning()); System.out.println("View License = " + data.getViewLicense()); System.out.println("Job Instance ID = " + data.getJobInstanceId()); System.out.println("Doc ID = " + data.getDocId()); System.out.println("Version = " + data.getVersion()); System.out.println("Document Url = " + data.getDocumentUrl()); System.out.println("Event Description = " + data.getEventDescription()); },
Example 2 - DomainAuditResponse AuditDetailsResponse.ResponseDetails details = resp.getResponseDetails(); System.out.println("Offset = " + details.getOffset()); System.out.println("Limit = " + details.getLimit()); System.out.println("Size = " + details.getSize()); System.out.println("Total = " + details.getTotal()); System.out.println("Object/Name = " + details.getDetailsObject().getName()); System.out.println("Object/Label = " + details.getDetailsObject().getLabel()); System.out.println("Object/Url = " + details.getDetailsObject().getUrl()); System.out.println("Items ****"); for (DomainAuditData data : resp.getData()) { System.out.println("\n**** Data Item **** "); System.out.println("id = " + data.getId()); System.out.println("timestamp = " + data.getTimestamp()); System.out.println("UserId = " + data.getUserId()); System.out.println("UserName = " + data.getUserName()); System.out.println("Full Name = " + data.getFullName()); System.out.println("Action = " + data.getAction()); System.out.println("Type = " + data.getType()); System.out.println("Item = " + data.getItem()); System.out.println("FieldName = " + data.getFieldName()); System.out.println("NewValue = " + data.getNewValue()); System.out.println("EventDescription = " + data.getEventDescription()); },
Example 3 - LoginAuditResponse AuditDetailsResponse.ResponseDetails details = resp.getResponseDetails(); System.out.println("Offset = " + details.getOffset()); System.out.println("Limit = " + details.getLimit()); System.out.println("Size = " + details.getSize()); System.out.println("Total = " + details.getTotal()); System.out.println("Object/Name = " + details.getDetailsObject().getName()); System.out.println("Object/Label = " + details.getDetailsObject().getLabel()); System.out.println("Object/Url = " + details.getDetailsObject().getUrl()); System.out.println("Items ****"); for (LoginAuditData data : resp.getDataw()) { System.out.println("\n**** Data Item **** "); System.out.println("id = " + data.getId()); System.out.println("timestamp = " + data.getTimestamp()); System.out.println("UserName = " + data.getUserName()); System.out.println("Source IP = " + data.getSourceIp()); System.out.println("Type = " + data.getType()); System.out.println("Status = " + data.getStatus()); System.out.println("Browser = " + data.getBrowser()); System.out.println("Platform = " + data.getPlatform()); System.out.println("Vault ID = " + data.getVaultId()); },
Example 4 - ObjectAuditResponse AuditDetailsResponse.ResponseDetails details = resp.getResponseDetails(); System.out.println("Offset = " + details.getOffset()); System.out.println("Limit = " + details.getLimit()); System.out.println("Size = " + details.getSize()); System.out.println("Total = " + details.getTotal()); System.out.println("Object/Name = " + details.getDetailsObject().getName()); System.out.println("Object/Label = " + details.getDetailsObject().getLabel()); System.out.println("Object/Url = " + details.getDetailsObject().getUrl()); System.out.println("Items ****"); for (ObjectAuditData data : resp.getData()) { System.out.println("\n**** Data Item **** "); System.out.println("id = " + data.getId()); System.out.println("timestamp = " + data.getTimestamp()); System.out.println("UserName = " + data.getUserName()); System.out.println("Full Name = " + data.getFullName()); System.out.println("Action = " + data.getAction()); System.out.println("Item = " + data.getItem()); System.out.println("Record ID = " + data.getRecordId()); System.out.println("Object Label = " + data.getObjectLabel()); System.out.println("Workflow Name = " + data.getWorkflowName()); System.out.println("Task Name = " + data.getTaskName()); System.out.println("Verdict = " + data.getVerdict()); System.out.println("Reason = " + data.getReason()); System.out.println("Capacity = " + data.getCapacity()); System.out.println("Event Description = " + data.getEventDescription()); },
Example 5 - JobCreateResponse System.out.println("Response Status = " + resp.getResponseStatus()); System.out.println("Job ID = " + resp.getJobId()); System.out.println("Url = " + resp.getUrl());
public <T> T retrieveAuditDetailsByPage(LogRequest.AuditTrailType auditTrailType, String pageUrl)
Retrieve next or previous page of an existing audit details request
T
- Response Type classauditTrailType
- type of audit trailpageUrl
- The URL from the previous_page or next_page parameterGET /api/{version}/metadata/audittrail/{audit_trail_type}?offset={val}&limit={val}&uuid={val}
public DocumentAuditResponse retrieveCompleteAuditHistoryForASingleDocument(int docId)
Retrieve complete audit history for a single document.
docId
- The Document IdGET /api/{version}/objects/documents/{doc_id}/audittrail
DocumentAuditResponse resp = vaultClient.newRequest(LogRequest.class) .setLimit(4) // Just pull 4 records so the results can be viewed more easily .setFormatResult(LogRequest.FormatResultType.JSON) .setEvents(new HashSet<>(Arrays.asList("GetDocumentVersion", "UploadDoc"))) .retrieveCompleteAuditHistoryForASingleDocument(id);
AuditDetailsResponse.ResponseDetails details = resp.getResponseDetails(); System.out.println("Offset = " + details.getOffset()); System.out.println("Limit = " + details.getLimit()); System.out.println("Size = " + details.getSize()); System.out.println("Total = " + details.getTotal()); System.out.println("Object/Name = " + details.getDetailsObject().getName()); System.out.println("Object/Label = " + details.getDetailsObject().getLabel()); System.out.println("Object/Url = " + details.getDetailsObject().getUrl()); System.out.println("Items ****"); for (DocumentAuditData data : resp.getData()) { System.out.println("\n**** Data Item **** "); System.out.println("id = " + data.getId()); System.out.println("timestamp = " + data.getTimestamp()); System.out.println("UserName = " + data.getUserName()); System.out.println("Full Name = " + data.getFullName()); System.out.println("Action = " + data.getAction()); System.out.println("Item = " + data.getItem()); System.out.println("Field Name = " + data.getFieldName()); System.out.println("New Value = " + data.getNewValue()); System.out.println("Workflow Name = " + data.getWorkflowName()); System.out.println("Task Name = " + data.getTaskName()); System.out.println("Signature Meaning = " + data.getSignatureMeaning()); System.out.println("View License = " + data.getViewLicense()); System.out.println("Job Instance ID = " + data.getJobInstanceId()); System.out.println("Doc ID = " + data.getDocId()); System.out.println("Version = " + data.getVersion()); System.out.println("Document Url = " + data.getDocumentUrl()); System.out.println("Event Description = " + data.getEventDescription()); }
public ObjectAuditResponse retrieveCompleteAuditHistoryForASingleObjectRecord(String objectName, String recordId)
Retrieve Complete Audit History for a Single Object Record.
objectName
- Object namerecordId
- Object record idGET /api/{version}/vobjects/{object_name}/{object_record_id}/audittrail
ObjectAuditResponse resp = vaultClient.newRequest(LogRequest.class) .setFormatResult(LogRequest.FormatResultType.JSON) .setEvents(new HashSet<>(Arrays.asList("Create", "Edit"))) .retrieveCompleteAuditHistoryForASingleObjectRecord("product__v", "00P000000000601");
if (resp.isSuccessful()) { AuditDetailsResponse.ResponseDetails details = resp.getResponseDetails(); System.out.println("Offset = " + details.getOffset()); System.out.println("Limit = " + details.getLimit()); System.out.println("Size = " + details.getSize()); System.out.println("Total = " + details.getTotal()); System.out.println("Object/Name = " + details.getDetailsObject().getName()); System.out.println("Object/Label = " + details.getDetailsObject().getLabel()); System.out.println("Object/Url = " + details.getDetailsObject().getUrl()); System.out.println("Items ****"); for (ObjectAuditData data : resp.getData()) { System.out.println("\n**** Data Item **** "); System.out.println("id = " + data.getId()); System.out.println("timestamp = " + data.getTimestamp()); System.out.println("UserName = " + data.getUserName()); System.out.println("Full Name = " + data.getFullName()); System.out.println("Action = " + data.getAction()); System.out.println("Item = " + data.getItem()); System.out.println("Record ID = " + data.getRecordId()); System.out.println("Object Label = " + data.getObjectLabel()); System.out.println("Workflow Name = " + data.getWorkflowName()); System.out.println("Task Name = " + data.getTaskName()); System.out.println("Verdict = " + data.getVerdict()); System.out.println("Reason = " + data.getReason()); System.out.println("Capacity = " + data.getCapacity()); System.out.println("Event Description = " + data.getEventDescription()); } }
public <T> T retrieveEmailNotificationHistory()
Retrieve details about the email notifications sent by Vault. Details include the notification date, recipient, subject, and delivery status.
T
- Response Type classGET /api/{version}/notifications/histories
Example 1 - EmailNotificationHistoryResponse EmailNotificationHistoryResponse response = vaultClient.newRequest(LogRequest.class) .retrieveEmailNotificationHistory();,
Example 2 - EmailNotificationHistoryResponse EmailNotificationHistoryResponse response = vaultClient.newRequest(LogRequest.class) .setStartDate(ZonedDateTime.now(ZoneId.of("UTC")).minusDays(29)) .setEndDate(ZonedDateTime.now(ZoneId.of("UTC")).minusDays(1)) .retrieveEmailNotificationHistory();,
Example 3 - JobCreateResponse JobCreateResponse response = vaultClient.newRequest(LogRequest.class) .setAllDates(true) .setFormatResult(LogRequest.FormatResultType.CSV) .retrieveEmailNotificationHistory();
Example 1 - EmailNotificationHistoryResponse System.out.println("Response Status: " + response.getResponseStatus()); System.out.println("Response Message: " + response.getResponse()); EmailNotificationHistoryResponse.ResponseDetails details = response.getResponseDetails(); System.out.println("Response Details ****"); System.out.println("Offset = " + details.getOffset()); System.out.println("Limit = " + details.getLimit()); System.out.println("Size = " + details.getSize()); System.out.println("Total = " + details.getTotal()); System.out.println("Items ****"); for (EmailNotification data : response.getData()) { System.out.println("id = " + data.getNotificationId()); System.out.println("Send Date = " + data.getSendDate()); System.out.println("Recipient Email: " + data.getRecipientEmail()); },
Example 2 - EmailNotificationHistoryResponse System.out.println("Response Status: " + response.getResponseStatus()); System.out.println("Response Message: " + response.getResponse()); EmailNotificationHistoryResponse.ResponseDetails details = response.getResponseDetails(); System.out.println("Response Details ****"); System.out.println("Offset = " + details.getOffset()); System.out.println("Limit = " + details.getLimit()); System.out.println("Size = " + details.getSize()); System.out.println("Total = " + details.getTotal()); System.out.println("Items ****"); for (EmailNotification data : response.getData()) { System.out.println("id = " + data.getNotificationId()); System.out.println("Send Date = " + data.getSendDate()); System.out.println("Recipient Email: " + data.getRecipientEmail()); },
Example 3 - JobCreateResponse System.out.println("Response Status: " + response.getResponseStatus()); System.out.println("Response Message: " + response.getResponse()); System.out.println("Job ID: " + response.getJobId()); System.out.println("Url = " + resp.getUrl());
public VaultResponse retrieveDailyAPIUsage(LocalDate logDate)
Retrieve the API Usage Log for a single day, up to 30 days in the past. The log contains information such as user name, user ID, remaining burst and daily limits, and the endpoint called. Users with the Admin > Logs > API Usage Logs permission can access these logs.
Note that if outputFilePath is set, this method will save the output to the path specified. If outputFilePath is null or empty, the output will be stored as a byte array in the VaultResponse object. If outputFilePath is set, it must include the full file path and a file name with a .zip extension
logDate
- Daily log dateGET /api/{version}/logs/api_usage?date=YYYY-MM-DD
Example 1 - To file VaultResponse response = vaultClient.newRequest(LogRequest.class) .setLogDate(date) .setOutputPath(outputFilePath.toString()) .retrieveDailyAPIUsage();,
Example 2 - To buffer VaultResponse response = vaultClient.newRequest(LogRequest.class) .setLogDate(date) .setLogFormat(LogRequest.LogFormatType.LOGFILE) .setOutputPath(null) .retrieveDailyAPIUsage();
Example 2 - To buffer if (response.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) { try (OutputStream os = new FileOutputStream(outputFilePath.toString())) { os.write(response.getBinaryContent()); System.out.println("File was saved to: " + outputFilePath.toString()); } catch (IOException ignored){} }
public VaultResponse downloadSdkRuntimeLog(LocalDate logDate)
Retrieve the SDK Runtime Log for a single day, up to 30 days in the past. The log contains information such as the timestamp, user ID, execution ID, class name, depth, log level, and any messages returned. Users with the Admin > Logs > SDK Runtime Logs permission can access these logs.
Note that if outputFilePath is set, this method will save the output to the path specified. If outputFilePath is null or empty, the output will be stored as a byte array in the VaultResponse object. If outputFilePath is set, it must include the full file path and a file name with a .zip extension
logDate
- Daily log dateGET /api/{version}/logs/code/runtime?date=YYYY-MM-DD
Example 1 - To file VaultResponse response = vaultClient.newRequest(LogRequest.class) .setLogDate(date) .setOutputPath(outputFilePath.toString()) .downloadSdkRuntimeLog();,
Example 2 - To buffer VaultResponse response = vaultClient.newRequest(LogRequest.class) .setLogDate(date) .setLogFormat(LogRequest.LogFormatType.LOGFILE) .setOutputPath(null) .downloadSdkRuntimeLog();
Example 2 - To buffer if (response.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) { try (OutputStream os = new FileOutputStream(outputFilePath.toString())) { os.write(response.getBinaryContent()); System.out.println("File was saved to: " + outputFilePath.toString()); } catch (IOException ignored){} }
public LogRequest setStartDateTime(ZonedDateTime startDate)
Specify a start date and time to retrieve audit information or email notification history
For audit information, this date cannot be more than 30 days ago. If omitted, defaults to the last 30 days.
For email notification history, this date cannot be more than 2 years ago. If omitted, defaults to the start of the day.
startDate
- Start date and time for audit information or email notification history log requests.public LogRequest setEndDateTime(ZonedDateTime endDate)
Specify an end date and time to retrieve audit information or email notification history
For audit information, this date cannot be more than 30 days ago. If omitted, defaults to the last 30 days.
For email notification history, this date cannot be more than 30 days away from the specified start date. If an end date has been specified, a start date must also be set.
endDate
- End date and time for audit information or email notification history log requests.public LogRequest setStartDate(LocalDate startDate)
startDate
- This date cannot be more than 2 years ago. If omitted, defaults to the start of the day.public LogRequest setEndDate(LocalDate endDate)
endDate
- This date cannot be more than 30 days away from the specified start date. If an end date has been specified, a start date must also be set.public LogRequest setAllDates(Boolean allDates)
allDates
- Defaults to false. Set to true to request audit information for all dates. You must leave startDate and endDate blank when requesting an export of a full audit trail.public LogRequest setFormatResult(LogRequest.FormatResultType formatResult)
formatResult
- To request a downloadable CSV file of your audit details, use FormatResultType.CSV. The response contains a jobId to retrieve the job status, which contains a link to download the CSV file. If omitted, the API returns a JSON response and does not start a job. If allDates is true, this parameter is required.public LogRequest setLimit(Integer limit)
limit
- Limits the number of results (default is 200). For larger sets, consider using CSV.public LogRequest setLogFormat(LogRequest.LogFormatType logFormat)
logFormat
- Possible values are csv or logfile. If omitted, defaults to csv. Note that this call always downloads a ZIP file. This parameter only changes the format of the file contained within the ZIP.public LogRequest setOutputPath(String outputPath)
outputPath
- Absolute path to the file for the responsepublic LogRequest setEvents(Set<String> events)
events
- Comma-separated list of one or more audit eventsCopyright © 2024. All rights reserved.