Class AbstractAWSLogs

java.lang.Object
com.amazonaws.services.logs.AbstractAWSLogs
All Implemented Interfaces:
AWSLogs
Direct Known Subclasses:
AbstractAWSLogsAsync

public class AbstractAWSLogs extends Object implements AWSLogs
Abstract implementation of AWSLogs. Convenient method forms pass through to the corresponding overload that takes a request object, which throws an UnsupportedOperationException.
  • Constructor Details

    • AbstractAWSLogs

      protected AbstractAWSLogs()
  • Method Details

    • setEndpoint

      public void setEndpoint(String endpoint)
      Description copied from interface: AWSLogs
      Overrides the default endpoint for this client ("https://logs.us-east-1.amazonaws.com"). Callers can use this method to control which AWS region they want to work with.

      Callers can pass in just the endpoint (ex: "logs.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "https://logs.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from this client's ClientConfiguration will be used, which by default is HTTPS.

      For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= 3912

      This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.

      Specified by:
      setEndpoint in interface AWSLogs
      Parameters:
      endpoint - The endpoint (ex: "logs.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "https://logs.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with.
    • setRegion

      public void setRegion(Region region)
      Description copied from interface: AWSLogs
      An alternative to AWSLogs.setEndpoint(String), sets the regional endpoint for this client's service calls. Callers can use this method to control which AWS region they want to work with.

      By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the ClientConfiguration supplied at construction.

      This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.

      Specified by:
      setRegion in interface AWSLogs
      Parameters:
      region - The region this client will communicate with. See Region.getRegion(com.amazonaws.regions.Regions) for accessing a given region. Must not be null and must be a region where the service is available.
      See Also:
    • cancelExportTask

      public CancelExportTaskResult cancelExportTask(CancelExportTaskRequest request)
      Description copied from interface: AWSLogs

      Cancels an export task if it is in PENDING or RUNNING state.

      Specified by:
      cancelExportTask in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the CancelExportTask operation returned by the service.
    • createExportTask

      public CreateExportTaskResult createExportTask(CreateExportTaskRequest request)
      Description copied from interface: AWSLogs

      Creates an ExportTask which allows you to efficiently export data from a Log Group to your Amazon S3 bucket.

      This is an asynchronous call. If all the required information is provided, this API will initiate an export task and respond with the task Id. Once started, DescribeExportTasks can be used to get the status of an export task. You can only have one active ( RUNNING or PENDING) export task at a time, per account.

      You can export logs from multiple log groups or multiple time ranges to the same Amazon S3 bucket. To separate out log data for each export task, you can specify a prefix that will be used as the Amazon S3 key prefix for all exported objects.

      Specified by:
      createExportTask in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the CreateExportTask operation returned by the service.
    • createLogGroup

      public CreateLogGroupResult createLogGroup(CreateLogGroupRequest request)
      Description copied from interface: AWSLogs

      Creates a new log group with the specified name. The name of the log group must be unique within a region for an AWS account. You can create up to 500 log groups per account.

      You must use the following guidelines when naming a log group:

      • Log group names can be between 1 and 512 characters long.
      • Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

      Specified by:
      createLogGroup in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the CreateLogGroup operation returned by the service.
    • createLogStream

      public CreateLogStreamResult createLogStream(CreateLogStreamRequest request)
      Description copied from interface: AWSLogs

      Creates a new log stream in the specified log group. The name of the log stream must be unique within the log group. There is no limit on the number of log streams that can exist in a log group.

      You must use the following guidelines when naming a log stream:

      • Log stream names can be between 1 and 512 characters long.
      • The ':' colon character is not allowed.

      Specified by:
      createLogStream in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the CreateLogStream operation returned by the service.
    • deleteDestination

      public DeleteDestinationResult deleteDestination(DeleteDestinationRequest request)
      Description copied from interface: AWSLogs

      Deletes the destination with the specified name and eventually disables all the subscription filters that publish to it. This will not delete the physical resource encapsulated by the destination.

      Specified by:
      deleteDestination in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DeleteDestination operation returned by the service.
    • deleteLogGroup

      public DeleteLogGroupResult deleteLogGroup(DeleteLogGroupRequest request)
      Description copied from interface: AWSLogs

      Deletes the log group with the specified name and permanently deletes all the archived log events associated with it.

      Specified by:
      deleteLogGroup in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DeleteLogGroup operation returned by the service.
    • deleteLogStream

      public DeleteLogStreamResult deleteLogStream(DeleteLogStreamRequest request)
      Description copied from interface: AWSLogs

      Deletes a log stream and permanently deletes all the archived log events associated with it.

      Specified by:
      deleteLogStream in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DeleteLogStream operation returned by the service.
    • deleteMetricFilter

      public DeleteMetricFilterResult deleteMetricFilter(DeleteMetricFilterRequest request)
      Description copied from interface: AWSLogs

      Deletes a metric filter associated with the specified log group.

      Specified by:
      deleteMetricFilter in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DeleteMetricFilter operation returned by the service.
    • deleteRetentionPolicy

      public DeleteRetentionPolicyResult deleteRetentionPolicy(DeleteRetentionPolicyRequest request)
      Description copied from interface: AWSLogs

      Deletes the retention policy of the specified log group. Log events would not expire if they belong to log groups without a retention policy.

      Specified by:
      deleteRetentionPolicy in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DeleteRetentionPolicy operation returned by the service.
    • deleteSubscriptionFilter

      public DeleteSubscriptionFilterResult deleteSubscriptionFilter(DeleteSubscriptionFilterRequest request)
      Description copied from interface: AWSLogs

      Deletes a subscription filter associated with the specified log group.

      Specified by:
      deleteSubscriptionFilter in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DeleteSubscriptionFilter operation returned by the service.
    • describeDestinations

      public DescribeDestinationsResult describeDestinations(DescribeDestinationsRequest request)
      Description copied from interface: AWSLogs

      Returns all the destinations that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by destination name.

      By default, this operation returns up to 50 destinations. If there are more destinations to list, the response would contain a nextToken value in the response body. You can also limit the number of destinations returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeDestinations in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DescribeDestinations operation returned by the service.
    • describeDestinations

      public DescribeDestinationsResult describeDestinations()
      Description copied from interface: AWSLogs
      Simplified method form for invoking the DescribeDestinations operation.
      Specified by:
      describeDestinations in interface AWSLogs
      See Also:
    • describeExportTasks

      public DescribeExportTasksResult describeExportTasks(DescribeExportTasksRequest request)
      Description copied from interface: AWSLogs

      Returns all the export tasks that are associated with the AWS account making the request. The export tasks can be filtered based on TaskId or TaskStatus.

      By default, this operation returns up to 50 export tasks that satisfy the specified filters. If there are more export tasks to list, the response would contain a nextToken value in the response body. You can also limit the number of export tasks returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeExportTasks in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DescribeExportTasks operation returned by the service.
    • describeLogGroups

      public DescribeLogGroupsResult describeLogGroups(DescribeLogGroupsRequest request)
      Description copied from interface: AWSLogs

      Returns all the log groups that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by log group name.

      By default, this operation returns up to 50 log groups. If there are more log groups to list, the response would contain a nextToken value in the response body. You can also limit the number of log groups returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeLogGroups in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DescribeLogGroups operation returned by the service.
    • describeLogGroups

      public DescribeLogGroupsResult describeLogGroups()
      Description copied from interface: AWSLogs
      Simplified method form for invoking the DescribeLogGroups operation.
      Specified by:
      describeLogGroups in interface AWSLogs
      See Also:
    • describeLogStreams

      public DescribeLogStreamsResult describeLogStreams(DescribeLogStreamsRequest request)
      Description copied from interface: AWSLogs

      Returns all the log streams that are associated with the specified log group. The list returned in the response is ASCII-sorted by log stream name.

      By default, this operation returns up to 50 log streams. If there are more log streams to list, the response would contain a nextToken value in the response body. You can also limit the number of log streams returned in the response by specifying the limit parameter in the request. This operation has a limit of five transactions per second, after which transactions are throttled.

      Specified by:
      describeLogStreams in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DescribeLogStreams operation returned by the service.
    • describeMetricFilters

      public DescribeMetricFiltersResult describeMetricFilters(DescribeMetricFiltersRequest request)
      Description copied from interface: AWSLogs

      Returns all the metrics filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

      By default, this operation returns up to 50 metric filters. If there are more metric filters to list, the response would contain a nextToken value in the response body. You can also limit the number of metric filters returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeMetricFilters in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DescribeMetricFilters operation returned by the service.
    • describeSubscriptionFilters

      public DescribeSubscriptionFiltersResult describeSubscriptionFilters(DescribeSubscriptionFiltersRequest request)
      Description copied from interface: AWSLogs

      Returns all the subscription filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

      By default, this operation returns up to 50 subscription filters. If there are more subscription filters to list, the response would contain a nextToken value in the response body. You can also limit the number of subscription filters returned in the response by specifying the limit parameter in the request.

      Specified by:
      describeSubscriptionFilters in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the DescribeSubscriptionFilters operation returned by the service.
    • filterLogEvents

      public FilterLogEventsResult filterLogEvents(FilterLogEventsRequest request)
      Description copied from interface: AWSLogs

      Retrieves log events, optionally filtered by a filter pattern from the specified log group. You can provide an optional time range to filter the results on the event timestamp. You can limit the streams searched to an explicit list of logStreamNames.

      By default, this operation returns as much matching log events as can fit in a response size of 1MB, up to 10,000 log events, or all the events found within a time-bounded scan window. If the response includes a nextToken, then there is more data to search, and the search can be resumed with a new request providing the nextToken. The response will contain a list of searchedLogStreams that contains information about which streams were searched in the request and whether they have been searched completely or require further pagination. The limit parameter in the request. can be used to specify the maximum number of events to return in a page.

      Specified by:
      filterLogEvents in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the FilterLogEvents operation returned by the service.
    • getLogEvents

      public GetLogEventsResult getLogEvents(GetLogEventsRequest request)
      Description copied from interface: AWSLogs

      Retrieves log events from the specified log stream. You can provide an optional time range to filter the results on the event timestamp.

      By default, this operation returns as much log events as can fit in a response size of 1MB, up to 10,000 log events. The response will always include a nextForwardToken and a nextBackwardToken in the response body. You can use any of these tokens in subsequent GetLogEvents requests to paginate through events in either forward or backward direction. You can also limit the number of log events returned in the response by specifying the limit parameter in the request.

      Specified by:
      getLogEvents in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the GetLogEvents operation returned by the service.
    • putDestination

      public PutDestinationResult putDestination(PutDestinationRequest request)
      Description copied from interface: AWSLogs

      Creates or updates a Destination. A destination encapsulates a physical resource (such as a Kinesis stream) and allows you to subscribe to a real-time stream of log events of a different account, ingested through PutLogEvents requests. Currently, the only supported physical resource is a Amazon Kinesis stream belonging to the same account as the destination.

      A destination controls what is written to its Amazon Kinesis stream through an access policy. By default, PutDestination does not set any access policy with the destination, which means a cross-account user will not be able to call PutSubscriptionFilter against this destination. To enable that, the destination owner must call PutDestinationPolicy after PutDestination.

      Specified by:
      putDestination in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the PutDestination operation returned by the service.
    • putDestinationPolicy

      public PutDestinationPolicyResult putDestinationPolicy(PutDestinationPolicyRequest request)
      Description copied from interface: AWSLogs

      Creates or updates an access policy associated with an existing Destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

      Specified by:
      putDestinationPolicy in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the PutDestinationPolicy operation returned by the service.
    • putLogEvents

      public PutLogEventsResult putLogEvents(PutLogEventsRequest request)
      Description copied from interface: AWSLogs

      Uploads a batch of log events to the specified log stream.

      Every PutLogEvents request must include the sequenceToken obtained from the response of the previous request. An upload in a newly created log stream does not require a sequenceToken.

      The batch of events must satisfy the following constraints:

      • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.
      • None of the log events in the batch can be more than 2 hours in the future.
      • None of the log events in the batch can be older than 14 days or the retention period of the log group.
      • The log events in the batch must be in chronological ordered by their timestamp.
      • The maximum number of log events in a batch is 10,000.
      • A batch of log events in a single PutLogEvents request cannot span more than 24 hours. Otherwise, the PutLogEvents operation will fail.

      Specified by:
      putLogEvents in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the PutLogEvents operation returned by the service.
    • putMetricFilter

      public PutMetricFilterResult putMetricFilter(PutMetricFilterRequest request)
      Description copied from interface: AWSLogs

      Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents requests.

      The maximum number of metric filters that can be associated with a log group is 100.

      Specified by:
      putMetricFilter in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the PutMetricFilter operation returned by the service.
    • putRetentionPolicy

      public PutRetentionPolicyResult putRetentionPolicy(PutRetentionPolicyRequest request)
      Description copied from interface: AWSLogs

      Sets the retention of the specified log group. A retention policy allows you to configure the number of days you want to retain log events in the specified log group.

      Specified by:
      putRetentionPolicy in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the PutRetentionPolicy operation returned by the service.
    • putSubscriptionFilter

      public PutSubscriptionFilterResult putSubscriptionFilter(PutSubscriptionFilterRequest request)
      Description copied from interface: AWSLogs

      Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents requests and have them delivered to a specific destination. Currently, the supported destinations are:

      • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.
      • A logical destination (used via an ARN of Destination) belonging to a different account, for cross-account delivery.
      • An Amazon Kinesis Firehose stream belonging to the same account as the subscription filter, for same-account delivery.
      • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

      Currently there can only be one subscription filter associated with a log group.

      Specified by:
      putSubscriptionFilter in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the PutSubscriptionFilter operation returned by the service.
    • testMetricFilter

      public TestMetricFilterResult testMetricFilter(TestMetricFilterRequest request)
      Description copied from interface: AWSLogs

      Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern.

      Specified by:
      testMetricFilter in interface AWSLogs
      Parameters:
      request -
      Returns:
      Result of the TestMetricFilter operation returned by the service.
    • shutdown

      public void shutdown()
      Description copied from interface: AWSLogs
      Shuts down this client object, releasing any resources that might be held open. This is an optional method, and callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client has been shutdown, it should not be used to make any more requests.
      Specified by:
      shutdown in interface AWSLogs
    • getCachedResponseMetadata

      public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
      Description copied from interface: AWSLogs
      Returns additional metadata for a previously executed successful request, typically used for debugging issues where a service isn't acting as expected. This data isn't considered part of the result data returned by an operation, so it's available through this separate, diagnostic interface.

      Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.

      Specified by:
      getCachedResponseMetadata in interface AWSLogs
      Parameters:
      request - The originally executed request.
      Returns:
      The response metadata for the specified request, or null if none is available.