# 로그 저장 방법

배포를 생성하면 컨테이너가 로그를 생성합니다. 배포를 종료한 후 원하면 이러한 로그를 선택한 S3 버킷에 저장할 수 있습니다. 엔드포인트 스토리지를 설정하면 배포가 종료된 이후에도 언제든지 이러한 로그를 조회할 수 있습니다.

### 엔드포인트 스토리지를 애플리케이션 버전과 연결하기

이를 수행하려면 앱 버전을 엔드포인트 스토리지에 연결해야 합니다. 앱 버전 상세 페이지로 이동하여 다음을 찾으세요. **컨테이너 로그 스토리지** 섹션. 스위치를 활성화하고 선택 상자에서 엔드포인트 스토리지를 선택하세요.

<figure><img src="https://1562312210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-a743dbd6e34bc30e7c8881ae156ac48735d59778%2Flink-with-app-version.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
유효한 엔드포인트 스토리지를 선택하지 않고 컨테이너 로그 스토리지를 활성화하면 로그를 검색할 수 없습니다. 유효한 엔드포인트 스토리지가 있는지 확인하려면 다음을 참조하세요. [설정 문서](https://docs.edgegap.com/docs.edgegap.com-ko/docs/endpoint-storage).
{% endhint %}

끝났습니다! 이제 이 애플리케이션 버전으로 생성된 모든 배포는 컨테이너 로그를 S3 버킷에 저장합니다.

#### 기본 디렉터리 경로

S3 버킷 내 경로는 다음과 같이 보입니다.

* edgegap/arbitrium
* 클라이언트 이메일의 앞부분, 대부분의 S3 브라우저는 "@"를 좋아하지 않습니다
* 엔드포인트 스토리지의 이름
* app / app version / container\_log
* 날짜 YYYY-MM-DD

<figure><img src="https://1562312210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-9e4b987d5fa8275831d78a21bea097bde8a54008%2Fpath.png?alt=media" alt=""><figcaption></figcaption></figure>

같은 S3 버킷을 사용하되 다른 이름으로 여러 엔드포인트 스토리지를 생성할 수 있습니다. 이렇게 하면 원할 경우 여러 환경을 위해 다양한 디렉터리를 가질 수 있습니다.

<figure><img src="https://1562312210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-33963f6333372abb9ace629a150ce6829352779d%2Fdirectory.png?alt=media" alt=""><figcaption></figcaption></figure>

#### 추가 사용 사례

{% hint style="success" %}
이러한 사용 사례는 테스트할 때 유용할 수 있으며, 모든 배포 로그를 스토리지로 전송하고 싶지 않을 때 도움이 됩니다.
{% endhint %}

**배포 요청과 함께 컨테이너 로그 저장하기**

배포를 생성할 때 컨테이너 로그를 배포 요청과 함께 저장할지 지정할 수 있습니다. 이는 애플리케이션 버전 설정과는 별개로, 애플리케이션 버전에 엔드포인트 스토리지를 미리 설정할 필요 없이 단지 작동하는 엔드포인트 스토리지가 있으면 됩니다.

다음 JSON을 배포 요청에 추가하면 됩니다.  `endpoint_storage` 는 엔드포인트 스토리지의 이름입니다.

```json
{
  "container_log_storage": {
    "enabled": true,
    "endpoint_storage": "demo-bucket"
  }
}
```

{% hint style="info" %}
만약 `endpoint_storage` 가 제공되지 않으면 앱 버전의 엔드포인트 스토리지를 사용하려 시도합니다. 엔드포인트 스토리지가 없으면 컨테이너 로그는 저장되지 않습니다.
{% endhint %}

**중지 요청과 함께 컨테이너 로그 저장하기**

또 다른 편리한 방법은 배포를 종료할 때입니다. 컨테이너 내부에서 문제가 발생했다고 판단되는 경우 컨테이너 로그를 저장하도록 요청할 수 있습니다. 이 옵션은 배포 중지(Deployment stop) 및 자체 중지(Self stop) 경로에서 사용할 수 있습니다.

요청에 쿼리 매개변수 `container_log_storage` 를 추가하면 됩니다. 해당 파라미터 `container_log_storage` 는 엔드포인트 스토리지의 이름입니다. 또한 `true` 를 사용하여 앱 버전의 엔드포인트 스토리지를 사용할 수 있습니다.

자세한 배포 및 중지 요청 매개변수는 [API 문서](https://docs.edgegap.com/docs.edgegap.com-ko/docs/api) 를 확인하세요.
