Skip to main content

Debugging Terraform

TF_LOG

Переменная среды TF_LOG в Terraform используется для установки уровня ведения логов в целях отладки. Можно установить TF_LOG на один из уровней логирования (в порядке убывания детализации):

  • TRACE: Самый подробный уровень, говорящий о внутренней деятельности Terraform;
  • DEBUG: Вывод менее детальнее, чем TRACE;
  • INFO: Вывод менее детальнее, чем DEBUG (important state changes, events, and actions);
  • WARN: Выделяет потенциальные проблемы в работе Terraform, которые не обязательно являются ошибками;
  • ERROR: Регистрирует только сообщения об ошибках, в которых подробно описаны неудачные операции внутри Terraform.
export TF_LOG=DEBUG

JSON Logging

Если для TF_LOG установлено значение JSON, каждая запись вывода представляет собой отдельный объект JSON в отдельной строке, что упрощает фильтрацию и анализ с использованием стандартных инструментов обработки JSON. Этот параметр может быть очень полезен, если вы хотите проанализировать данные логов с помощью скрипта, которое может использовать JSON, например решений для управления журналами или пользовательских инструментов сценариев.

export TF_LOG=JSON

TF_LOG_PATH

Кроме того, можно указать файл для направления логирования, установив переменную среды TF_LOG_PATH:

export TF_LOG_PATH=./terraform.log

TF_LOG_CORE

Эта переменная управляет уровнем логирования ядра Terraform, которое включает в себя все внутренние операции самого Terraform, не специфичные для какого-либо провайдера:

export TF_LOG_CORE=DEBUG

TF_LOG_PROVIDER

Эта переменная управляет уровнем логирования для всех провайдеров, используемых в конфигурациях Terraform:

export TF_LOG_PROVIDER=TRACE