

# AWS CLI를 사용하는 CloudWatch Logs 예제
<a name="cli_cloudwatch-logs_code_examples"></a>

다음 코드 예제에서는 CloudWatch Logs에서 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여 줍니다.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

**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)를 참조하세요.