

# 使用 AWS CLI 的 CloudWatch Logs 示例
<a name="cli_cloudwatch-logs_code_examples"></a>

以下代码示例演示如何通过将 AWS Command Line Interface与 CloudWatch Logs 结合使用，来执行操作和实现常见场景。

*操作是大型程序的代码摘录*，必须在上下文中运行。您可以通过操作了解如何调用单个服务函数，还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接，您可以从中找到有关如何在上下文中设置和运行代码的说明。

**Topics**
+ [操作](#actions)

## 操作
<a name="actions"></a>

### `create-log-group`
<a name="cloudwatch-logs_CreateLogGroup_cli_topic"></a>

以下代码示例演示了如何使用 `create-log-group`。

**AWS CLI**  
以下命令创建名为 `my-logs` 的日志组：  

```
aws logs create-log-group --log-group-name my-logs
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [CreateLogGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/create-log-group.html)。

### `create-log-stream`
<a name="cloudwatch-logs_CreateLogStream_cli_topic"></a>

以下代码示例演示了如何使用 `create-log-stream`。

**AWS CLI**  
以下命令在日志组 `my-logs` 中创建一个名为 `20150601` 的日志流：  

```
aws logs create-log-stream --log-group-name my-logs --log-stream-name 20150601
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [CreateLogStream](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/create-log-stream.html)。

### `delete-log-group`
<a name="cloudwatch-logs_DeleteLogGroup_cli_topic"></a>

以下代码示例演示了如何使用 `delete-log-group`。

**AWS CLI**  
以下命令删除名为 `my-logs` 的日志组：  

```
aws logs delete-log-group --log-group-name my-logs
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteLogGroup](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/delete-log-group.html)。

### `delete-log-stream`
<a name="cloudwatch-logs_DeleteLogStream_cli_topic"></a>

以下代码示例演示了如何使用 `delete-log-stream`。

**AWS CLI**  
以下命令从名为 `my-logs` 的日志组中删除名为 `20150531` 的日志流：  

```
aws logs delete-log-stream --log-group-name my-logs --log-stream-name 20150531
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteLogStream](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/delete-log-stream.html)。

### `delete-retention-policy`
<a name="cloudwatch-logs_DeleteRetentionPolicy_cli_topic"></a>

以下代码示例演示了如何使用 `delete-retention-policy`。

**AWS CLI**  
以下命令移除以前应用于名为 `my-logs` 的日志组的留存策略：  

```
aws logs delete-retention-policy --log-group-name my-logs
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DeleteRetentionPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/delete-retention-policy.html)。

### `describe-log-groups`
<a name="cloudwatch-logs_DescribeLogGroups_cli_topic"></a>

以下代码示例演示了如何使用 `describe-log-groups`。

**AWS CLI**  
以下命令描述名为 `my-logs` 的日志组：  

```
aws logs describe-log-groups --log-group-name-prefix my-logs
```
输出：  

```
{
    "logGroups": [
        {
            "storedBytes": 0,
            "metricFilterCount": 0,
            "creationTime": 1433189500783,
            "logGroupName": "my-logs",
            "retentionInDays": 5,
            "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:*"
        }
    ]
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DescribeLogGroups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-log-groups.html)。

### `describe-log-streams`
<a name="cloudwatch-logs_DescribeLogStreams_cli_topic"></a>

以下代码示例演示了如何使用 `describe-log-streams`。

**AWS CLI**  
以下命令显示日志组 `my-logs` 中以前缀 `2015` 开头的所有日志流：  

```
aws logs describe-log-streams --log-group-name my-logs --log-stream-name-prefix 2015
```
输出：  

```
{
    "logStreams": [
        {
            "creationTime": 1433189871774,
            "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:log-stream:20150531",
            "logStreamName": "20150531",
            "storedBytes": 0
        },
        {
            "creationTime": 1433189873898,
            "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:log-stream:20150601",
            "logStreamName": "20150601",
            "storedBytes": 0
        }
    ]
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DescribeLogStreams](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-log-streams.html)。

### `get-log-events`
<a name="cloudwatch-logs_GetLogEvents_cli_topic"></a>

以下代码示例演示了如何使用 `get-log-events`。

**AWS CLI**  
以下命令从日志组 `my-logs` 中名为 `20150601` 的日志流中检索日志事件：  

```
aws logs get-log-events --log-group-name my-logs --log-stream-name 20150601
```
输出：  

```
{
    "nextForwardToken": "f/31961209122447488583055879464742346735121166569214640130",
    "events": [
        {
            "ingestionTime": 1433190494190,
            "timestamp": 1433190184356,
            "message": "Example Event 1"
        },
        {
            "ingestionTime": 1433190516679,
            "timestamp": 1433190184356,
            "message": "Example Event 1"
        },
        {
            "ingestionTime": 1433190494190,
            "timestamp": 1433190184358,
            "message": "Example Event 2"
        }
    ],
    "nextBackwardToken": "b/31961209122358285602261756944988674324553373268216709120"
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [GetLogEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/get-log-events.html)。

### `put-log-events`
<a name="cloudwatch-logs_PutLogEvents_cli_topic"></a>

以下代码示例演示了如何使用 `put-log-events`。

**AWS CLI**  
以下命令在日志组 `my-logs` 中名为 `20150601` 的日志流中添加日志事件：  

```
aws logs put-log-events --log-group-name my-logs --log-stream-name 20150601 --log-events file://events
```
输出：  

```
{
    "nextSequenceToken": "49542672486831074009579604567656788214806863282469607346"
}
```
上面的示例将从当前目录中名为 `events` 的文件中读取一个 JSON 事件数组：  

```
[
  {
    "timestamp": 1433190184356,
    "message": "Example Event 1"
  },
  {
    "timestamp": 1433190184358,
    "message": "Example Event 2"
  },
  {
    "timestamp": 1433190184360,
    "message": "Example Event 3"
  }
]
```
每个后续调用都需要使用序列令牌选项指定上一个调用提供的下一个序列令牌：  

```
aws logs put-log-events --log-group-name my-logs --log-stream-name 20150601 --log-events file://events2 --sequence-token "49542672486831074009579604567656788214806863282469607346"
```
输出：  

```
{
    "nextSequenceToken": "49542672486831074009579604567900991230369019956308219826"
}
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [PutLogEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-log-events.html)。

### `put-retention-policy`
<a name="cloudwatch-logs_PutRetentionPolicy_cli_topic"></a>

以下代码示例演示了如何使用 `put-retention-policy`。

**AWS CLI**  
以下命令向名为 `my-logs` 的日志组中添加 5 天留存策略：  

```
aws logs put-retention-policy --log-group-name my-logs --retention-in-days 5
```
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [PutRetentionPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-retention-policy.html)。