# Как сохранять журналы

Когда вы создаёте развёртывание, ваш контейнер генерирует логи. Вы можете сохранить эти логи в выбранный вами S3-бакет после завершения развёртывания. Настроив Endpoint Storage, вы сможете получить эти логи в любое время, даже после завершения развёртывания.

### Свяжите ваш Endpoint Storage с версией приложения

Для этого вам нужно привязать версию приложения к Endpoint Storage. Перейдите на страницу с подробностями версии приложения и найдите **Хранилище логов контейнера** раздел. Включите переключатель и выберите ваш Endpoint Storage в поле выбора.

<figure><img src="https://3845012722-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" %}
Если вы включите хранилище логов контейнера без выбора действительного Endpoint Storage, вы не сможете получить свои логи. Чтобы убедиться, что у вас есть действительный Endpoint Storage, обратитесь к [документации по настройке](https://docs.edgegap.com/ru/docs/endpoint-storage).
{% endhint %}

Готово! Каждое развёртывание с этой версией приложения теперь будет сохранять логи контейнера в ваш S3-бакет.

#### Путь по умолчанию

Путь в вашем S3-бакете будет выглядеть так.

* edgegap/arbitrium
* Первая часть вашего клиентского email, большинство S3-браузеров не любят "@"
* Имя вашего Endpoint Storage
* app / версия приложения / container\_log
* Дата в формате YYYY-MM-DD

<figure><img src="https://3845012722-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>

Вы можете создать несколько Endpoint Storage с тем же S3-бакетом, но с разными именами. Таким образом вы можете иметь разные директории для множества окружений, если захотите.

<figure><img src="https://3845012722-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 %}

**Сохранение логов контейнера при создании развёртывания**

При создании развёртывания вы можете указать, хотите ли вы сохранить логи контейнера вместе с запросом на развёртывание. Это независимо от настроек версии приложения, то есть не обязательно заранее настраивать Endpoint Storage для версии приложения — достаточно иметь рабочий Endpoint Storage.

Вы можете сделать это, добавив следующий JSON в ваш запрос на развёртывание. Поле `endpoint_storage` — это имя вашего Endpoint Storage.

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

{% hint style="info" %}
Если `endpoint_storage` не указан, мы попытаемся использовать endpoint storage версии приложения. Если endpoint storage не найден, логи контейнера не будут сохранены.
{% endhint %}

**Сохранение логов контейнера при остановке**

Другой удобный способ — при завершении развёртывания. Если у вас есть основания полагать, что в контейнере что-то пошло не так, вы можете запросить сохранение логов контейнера. Эта опция доступна в маршрутах остановки развёртывания и самостопа (Self stop).

Вы можете сделать это, добавив параметр запроса `container_log_storage` в ваш запрос. Параметр `container_log_storage` — это имя вашего Endpoint Storage. Вы также можете указать `true` чтобы использовать endpoint storage версии приложения.

Вы можете ознакомиться с нашей [Документацией API](https://docs.edgegap.com/ru/docs/api) для получения подробностей о параметрах запросов на развёртывание и остановку.
