Terraform 로그 활성화
Terraform 로그 활성화 (Enable Terraform Logs)
Terraform의 예상치 못한 동작을 디버깅하고 싶을 때 로그를 활성화하면 큰 도움이 돼요. 이 문서는 TF_LOG 환경 변수를 설정해 상세 로그를 켜는 방법을 설명해요. 로그 수준과 JSON 출력, 로그를 파일에 저장하는 방법까지 함께 알려드릴게요.
출처: 문서
본문
이 주제는 예상치 못한 동작을 디버깅할 수 있도록 Terraform 로그를 활성화하는 방법을 설명해요.
직접 해보기: Create Dynamic Expressions 튜토리얼을 시도해보세요.
TF_LOG 변수 설정하기
Terraform에는 상세한 로그가 있어요. TF_LOG 환경 변수를 어떤 값으로든 설정하면 이 로그를 활성화할 수 있어요. 이 설정을 켜면 상세한 로그가 stderr에 표시돼요.
TF_LOG를 로그 수준 중 하나(상세도가 높은 순서대로) TRACE, DEBUG, INFO, WARN 또는 ERROR 중 하나로 설정하면 로그의 상세도를 조절할 수 있어요.
TF_LOG를 JSON으로 설정하면 TRACE 수준 이상의 로그가 출력되며, 형식으로는 파싱 가능한 JSON 인코딩을 사용해요.
경고: 로그 파일의 JSON 인코딩은 안정적인 인터페이스로 간주되지 않아요. 사전 경고 없이 언제든지 변경될 수 있어요. 이는 곧 제공될 도구(tooling)를 지원하기 위한 것이며, 그러한 도구만이 JSON 형식 로그와 상호작용하는 유일한 지원 방식이에요.
TF_LOG_CORE 변수 설정하기
로깅은 Terraform 자체와 프로바이더 플러그인에 대해 TF_LOG_CORE 또는 TF_LOG_PROVIDER 환경 변수를 사용해 개별적으로 활성화할 수 있어요. 이들은 TF_LOG와 동일한 수준 인자를 받지만, 로그의 일부만 활성화해요.
로깅 출력을 유지하려면 TF_LOG_PATH를 설정해 로깅이 활성화되었을 때 로그가 항상 특정 파일에 추가되도록 강제할 수 있어요. TF_LOG_PATH가 설정되어 있더라도 로깅이 활성화되려면 반드시 TF_LOG가 설정되어 있어야 한다는 점에 유의하세요.
Terraform에서 버그를 발견하면 gist와 같은 서비스를 사용해 상세한 로그를 포함해주세요.