ExAws.Logs.Core

Amazon CloudWatch Logs

Amazon CloudWatch Logs API Reference

This is the Amazon CloudWatch Logs API Reference. Amazon CloudWatch Logs enables you to monitor, store, and access your system, application, and custom log files. This guide provides detailed information about Amazon CloudWatch Logs actions, data types, parameters, and errors. For detailed information about Amazon CloudWatch Logs features and their associated API calls, go to the Amazon CloudWatch Developer Guide.

Use the following links to get started using the Amazon CloudWatch Logs API Reference:

Actions: An alphabetical list of all Amazon CloudWatch Logs actions.

In addition to using the Amazon CloudWatch Logs API, you can also use the following SDKs and third-party libraries to access Amazon CloudWatch Logs programmatically.

Developers in the AWS developer community also provide their own libraries, which you can find at the following AWS developer centers:

Source

Summary

create_log_group!(client, input)

Same as create_log_group/2 but raise on error

create_log_group(client, input)

CreateLogGroup

create_log_stream!(client, input)

Same as create_log_stream/2 but raise on error

create_log_stream(client, input)

CreateLogStream

delete_destination!(client, input)

Same as delete_destination/2 but raise on error

delete_destination(client, input)

DeleteDestination

delete_log_group!(client, input)

Same as delete_log_group/2 but raise on error

delete_log_group(client, input)

DeleteLogGroup

delete_log_stream!(client, input)

Same as delete_log_stream/2 but raise on error

delete_log_stream(client, input)

DeleteLogStream

delete_metric_filter!(client, input)

Same as delete_metric_filter/2 but raise on error

delete_metric_filter(client, input)

DeleteMetricFilter

delete_retention_policy!(client, input)

Same as delete_retention_policy/2 but raise on error

delete_retention_policy(client, input)

DeleteRetentionPolicy

delete_subscription_filter!(client, input)

Same as delete_subscription_filter/2 but raise on error

delete_subscription_filter(client, input)

DeleteSubscriptionFilter

describe_destinations!(client, input)

Same as describe_destinations/2 but raise on error

describe_destinations(client, input)

DescribeDestinations

describe_log_groups!(client, input)

Same as describe_log_groups/2 but raise on error

describe_log_groups(client, input)

DescribeLogGroups

describe_log_streams!(client, input)

Same as describe_log_streams/2 but raise on error

describe_log_streams(client, input)

DescribeLogStreams

describe_metric_filters!(client, input)

Same as describe_metric_filters/2 but raise on error

describe_metric_filters(client, input)

DescribeMetricFilters

describe_subscription_filters!(client, input)

Same as describe_subscription_filters/2 but raise on error

describe_subscription_filters(client, input)

DescribeSubscriptionFilters

filter_log_events!(client, input)

Same as filter_log_events/2 but raise on error

filter_log_events(client, input)

FilterLogEvents

get_log_events!(client, input)

Same as get_log_events/2 but raise on error

get_log_events(client, input)

GetLogEvents

put_destination!(client, input)

Same as put_destination/2 but raise on error

put_destination(client, input)

PutDestination

put_destination_policy!(client, input)

Same as put_destination_policy/2 but raise on error

put_destination_policy(client, input)

PutDestinationPolicy

put_log_events!(client, input)

Same as put_log_events/2 but raise on error

put_log_events(client, input)

PutLogEvents

put_metric_filter!(client, input)

Same as put_metric_filter/2 but raise on error

put_metric_filter(client, input)

PutMetricFilter

put_retention_policy!(client, input)

Same as put_retention_policy/2 but raise on error

put_retention_policy(client, input)

PutRetentionPolicy

put_subscription_filter!(client, input)

Same as put_subscription_filter/2 but raise on error

put_subscription_filter(client, input)

PutSubscriptionFilter

test_metric_filter!(client, input)

Same as test_metric_filter/2 but raise on error

test_metric_filter(client, input)

TestMetricFilter

Types

log_group_name :: binary

describe_log_streams_request :: [descending: descending, limit: describe_limit, log_group_name: log_group_name, log_stream_name_prefix: log_stream_name, next_token: next_token, order_by: order_by]

filter_count :: integer

get_log_events_response :: [events: output_log_events, next_backward_token: next_token, next_forward_token: next_token]

event_message :: binary

filter_log_events_response :: [events: filtered_log_events, next_token: next_token, searched_log_streams: searched_log_streams]

delete_metric_filter_request :: [filter_name: filter_name, log_group_name: log_group_name]

filter_name :: binary

put_retention_policy_request :: [log_group_name: log_group_name, retention_in_days: days]

describe_destinations_response :: [destinations: destinations, next_token: next_token]

log_stream :: [arn: arn, creation_time: timestamp, first_event_timestamp: timestamp, last_event_timestamp: timestamp, last_ingestion_time: timestamp, log_stream_name: log_stream_name, stored_bytes: stored_bytes, upload_sequence_token: sequence_token]

days :: integer

event_number :: integer

interleaved :: boolean

delete_log_group_request :: [{:log_group_name, log_group_name}]

sequence_token :: binary

describe_subscription_filters_request :: [filter_name_prefix: filter_name, limit: describe_limit, log_group_name: log_group_name, next_token: next_token]

log_group :: [arn: arn, creation_time: timestamp, log_group_name: log_group_name, metric_filter_count: filter_count, retention_in_days: days, stored_bytes: stored_bytes]

put_log_events_response :: [next_sequence_token: sequence_token, rejected_log_events_info: rejected_log_events_info]

event_id :: binary

token :: binary

put_log_events_request :: [log_events: input_log_events, log_group_name: log_group_name, log_stream_name: log_stream_name, sequence_token: sequence_token]

describe_metric_filters_request :: [filter_name_prefix: filter_name, limit: describe_limit, log_group_name: log_group_name, next_token: next_token]

role_arn :: binary

timestamp :: integer

stored_bytes :: integer

put_destination_policy_request :: [access_policy: access_policy, destination_name: destination_name]

destination_name :: binary

metric_namespace :: binary

metric_value :: binary

metric_name :: binary

input_log_event :: [message: event_message, timestamp: timestamp]

describe_log_groups_request :: [limit: describe_limit, log_group_name_prefix: log_group_name, next_token: next_token]

log_stream_name :: binary

describe_log_groups_response :: [log_groups: log_groups, next_token: next_token]

delete_log_stream_request :: [log_group_name: log_group_name, log_stream_name: log_stream_name]

filtered_log_event :: [event_id: event_id, ingestion_time: timestamp, log_stream_name: log_stream_name, message: event_message, timestamp: timestamp]

arn :: binary

metric_transformation :: [metric_name: metric_name, metric_namespace: metric_namespace, metric_value: metric_value]

rejected_log_events_info :: [expired_log_event_end_index: log_event_index, too_new_log_event_start_index: log_event_index, too_old_log_event_end_index: log_event_index]

put_destination_response :: [{:destination, destination}]

describe_log_streams_response :: [log_streams: log_streams, next_token: next_token]

metric_filter :: [creation_time: timestamp, filter_name: filter_name, filter_pattern: filter_pattern, metric_transformations: metric_transformations]

value :: binary

test_metric_filter_request :: [filter_pattern: filter_pattern, log_event_messages: test_event_messages]

output_log_event :: [ingestion_time: timestamp, message: event_message, timestamp: timestamp]

order_by :: binary

delete_destination_request :: [{:destination_name, destination_name}]

describe_destinations_request :: [destination_name_prefix: destination_name, limit: describe_limit, next_token: next_token]

descending :: boolean

get_log_events_request :: [end_time: timestamp, limit: events_limit, log_group_name: log_group_name, log_stream_name: log_stream_name, next_token: next_token, start_from_head: start_from_head, start_time: timestamp]

describe_limit :: integer

destination :: [access_policy: access_policy, arn: arn, creation_time: timestamp, destination_name: destination_name, role_arn: role_arn, target_arn: target_arn]

put_destination_request :: [destination_name: destination_name, role_arn: role_arn, target_arn: target_arn]

create_log_group_request :: [{:log_group_name, log_group_name}]

put_subscription_filter_request :: [destination_arn: destination_arn, filter_name: filter_name, filter_pattern: filter_pattern, log_group_name: log_group_name, role_arn: role_arn]

filter_log_events_request :: [end_time: timestamp, filter_pattern: filter_pattern, interleaved: interleaved, limit: events_limit, log_group_name: log_group_name, log_stream_names: input_log_stream_names, next_token: next_token, start_time: timestamp]

invalid_sequence_token_exception :: [{:expected_sequence_token, sequence_token}]

target_arn :: binary

data_already_accepted_exception :: [{:expected_sequence_token, sequence_token}]

describe_metric_filters_response :: [metric_filters: metric_filters, next_token: next_token]

filter_pattern :: binary

start_from_head :: boolean

log_event_index :: integer

create_log_stream_request :: [log_group_name: log_group_name, log_stream_name: log_stream_name]

events_limit :: integer

access_policy :: binary

put_metric_filter_request :: [filter_name: filter_name, filter_pattern: filter_pattern, log_group_name: log_group_name, metric_transformations: metric_transformations]

subscription_filter :: [creation_time: timestamp, destination_arn: destination_arn, filter_name: filter_name, filter_pattern: filter_pattern, log_group_name: log_group_name, role_arn: role_arn]

destination_arn :: binary

metric_filter_match_record :: [event_message: event_message, event_number: event_number, extracted_values: extracted_values]

next_token :: binary

searched_log_stream :: [log_stream_name: log_stream_name, searched_completely: log_stream_searched_completely]

Functions

create_log_group(client, input)

Specs:

CreateLogGroup

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).
Source
create_log_group!(client, input)

Specs:

  • create_log_group!(client :: ExAws.Logs.t, input :: create_log_group_request) :: ExAws.Request.JSON.success_t | no_return

Same as create_log_group/2 but raise on error.

Source
create_log_stream(client, input)

Specs:

CreateLogStream

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.
Source
create_log_stream!(client, input)

Specs:

Same as create_log_stream/2 but raise on error.

Source
delete_destination(client, input)

Specs:

DeleteDestination

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.

Source
delete_destination!(client, input)

Specs:

Same as delete_destination/2 but raise on error.

Source
delete_log_group(client, input)

Specs:

DeleteLogGroup

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

Source
delete_log_group!(client, input)

Specs:

  • delete_log_group!(client :: ExAws.Logs.t, input :: delete_log_group_request) :: ExAws.Request.JSON.success_t | no_return

Same as delete_log_group/2 but raise on error.

Source
delete_log_stream(client, input)

Specs:

DeleteLogStream

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

Source
delete_log_stream!(client, input)

Specs:

Same as delete_log_stream/2 but raise on error.

Source
delete_metric_filter(client, input)

Specs:

DeleteMetricFilter

Deletes a metric filter associated with the specified log group.

Source
delete_metric_filter!(client, input)

Specs:

Same as delete_metric_filter/2 but raise on error.

Source
delete_retention_policy(client, input)

Specs:

DeleteRetentionPolicy

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

Source
delete_retention_policy!(client, input)

Specs:

Same as delete_retention_policy/2 but raise on error.

Source
delete_subscription_filter(client, input)

Specs:

DeleteSubscriptionFilter

Deletes a subscription filter associated with the specified log group.

Source
delete_subscription_filter!(client, input)

Specs:

Same as delete_subscription_filter/2 but raise on error.

Source
describe_destinations(client, input)

Specs:

DescribeDestinations

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.

Source
describe_destinations!(client, input)

Specs:

Same as describe_destinations/2 but raise on error.

Source
describe_log_groups(client, input)

Specs:

DescribeLogGroups

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.

Source
describe_log_groups!(client, input)

Specs:

Same as describe_log_groups/2 but raise on error.

Source
describe_log_streams(client, input)

Specs:

DescribeLogStreams

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.

Source
describe_log_streams!(client, input)

Specs:

Same as describe_log_streams/2 but raise on error.

Source
describe_metric_filters(client, input)

Specs:

DescribeMetricFilters

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.

Source
describe_metric_filters!(client, input)

Specs:

Same as describe_metric_filters/2 but raise on error.

Source
describe_subscription_filters(client, input)

Specs:

DescribeSubscriptionFilters

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.

Source
describe_subscription_filters!(client, input)

Specs:

Same as describe_subscription_filters/2 but raise on error.

Source
filter_log_events(client, input)

Specs:

FilterLogEvents

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.

Source
filter_log_events!(client, input)

Specs:

Same as filter_log_events/2 but raise on error.

Source
get_log_events(client, input)

Specs:

GetLogEvents

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 `

nextForwardTokenand 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.

Source
get_log_events!(client, input)

Specs:

  • get_log_events!(client :: ExAws.Logs.t, input :: get_log_events_request) :: ExAws.Request.JSON.success_t | no_return

Same as get_log_events/2 but raise on error.

Source
put_destination(client, input)

Specs:

PutDestination

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.

Source
put_destination!(client, input)

Specs:

  • put_destination!(client :: ExAws.Logs.t, input :: put_destination_request) :: ExAws.Request.JSON.success_t | no_return

Same as put_destination/2 but raise on error.

Source
put_destination_policy(client, input)

Specs:

PutDestinationPolicy

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.

Source
put_destination_policy!(client, input)

Specs:

Same as put_destination_policy/2 but raise on error.

Source
put_log_events(client, input)

Specs:

PutLogEvents

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.
Source
put_log_events!(client, input)

Specs:

  • put_log_events!(client :: ExAws.Logs.t, input :: put_log_events_request) :: ExAws.Request.JSON.success_t | no_return

Same as put_log_events/2 but raise on error.

Source
put_metric_filter(client, input)

Specs:

PutMetricFilter

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.

Source
put_metric_filter!(client, input)

Specs:

Same as put_metric_filter/2 but raise on error.

Source
put_retention_policy(client, input)

Specs:

PutRetentionPolicy

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.

Source
put_retention_policy!(client, input)

Specs:

Same as put_retention_policy/2 but raise on error.

Source
put_subscription_filter(client, input)

Specs:

PutSubscriptionFilter

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:

  • A 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.

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

Source
put_subscription_filter!(client, input)

Specs:

Same as put_subscription_filter/2 but raise on error.

Source
test_metric_filter(client, input)

Specs:

TestMetricFilter

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.

Source
test_metric_filter!(client, input)

Specs:

Same as test_metric_filter/2 but raise on error.

Source