82 releases (37 stable)

new 1.38.0 Jul 12, 2024
1.36.0 Jun 20, 2024
1.21.0 Mar 26, 2024
1.9.0 Dec 21, 2023
0.0.0 May 7, 2021

#631 in Network programming

Download history 3509/week @ 2024-03-17 3144/week @ 2024-03-24 3051/week @ 2024-03-31 2632/week @ 2024-04-07 3600/week @ 2024-04-14 4688/week @ 2024-04-21 3095/week @ 2024-04-28 4000/week @ 2024-05-05 3242/week @ 2024-05-12 4082/week @ 2024-05-19 3150/week @ 2024-05-26 3313/week @ 2024-06-02 5034/week @ 2024-06-09 3818/week @ 2024-06-16 3988/week @ 2024-06-23 1770/week @ 2024-06-30

14,769 downloads per month
Used in 10 crates (8 directly)


73K SLoC


You can use Amazon CloudWatch Logs to monitor, store, and access your log files from EC2 instances, CloudTrail, and other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console. Alternatively, you can use CloudWatch Logs commands in the Amazon Web Services CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

You can use CloudWatch Logs to:

  • Monitor logs from EC2 instances in real time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs. Then, it can send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring so no code changes are required. For example, you can monitor application logs for specific literal terms (such as "NullReferenceException"). You can also count the number of occurrences of a literal term at a particular position in log data (such as "404" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify.
  • Monitor CloudTrail logged events: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail. You can use the notification to perform troubleshooting.
  • Archive log data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events earlier than this setting are automatically deleted. The CloudWatch Logs agent helps to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it.

Getting Started

Examples are available for many services and operations, check out the examples folder in GitHub.

The SDK provides one crate per AWS service. You must add Tokio as a dependency within your Rust project to execute asynchronous code. To add aws-sdk-cloudwatchlogs to your project, add the following to your Cargo.toml file:

aws-config = { version = "1.1.7", features = ["behavior-version-latest"] }
aws-sdk-cloudwatchlogs = "1.38.0"
tokio = { version = "1", features = ["full"] }

Then in code, a client can be created with the following:

use aws_sdk_cloudwatchlogs as cloudwatchlogs;

async fn main() -> Result<(), cloudwatchlogs::Error> {
    let config = aws_config::load_from_env().await;
    let client = aws_sdk_cloudwatchlogs::Client::new(&config);

    // ... make some calls with the client


See the client documentation for information on what calls can be made, and the inputs and outputs for each of those calls.

Using the SDK

Until the SDK is released, we will be adding information about using the SDK to the Developer Guide. Feel free to suggest additional sections for the guide by opening an issue and describing what you are trying to do.

Getting Help


This project is licensed under the Apache-2.0 License.


~271K SLoC