[python] python-dotenv를 사용하여 로그 레벨 설정하기

로그는 개발과 디버깅에 매우 중요한 역할을 합니다. 로그 레벨은 로그에 기록되는 메시지의 중요도를 나타내며, 로그 레벨을 올바르게 설정하면 효율적인 디버깅과 오류 처리가 가능해집니다.

Python에서 로그 레벨을 설정하는 방법은 여러 가지가 있습니다. 그 중 하나는 python-dotenv 패키지를 사용하여 로그 레벨을 환경변수로 설정하는 것입니다. 이를 통해 로그 레벨을 손쉽게 변경하고 관리할 수 있습니다.

python-dotenv 설치하기

먼저, python-dotenv 패키지를 설치해야 합니다. 아래 명령을 사용하여 패키지를 설치할 수 있습니다.

pip install python-dotenv

.env 파일 생성하기

이제 .env 파일을 생성하여 로그 레벨을 설정해보겠습니다. .env 파일은 프로젝트의 루트 디렉토리에 생성해야 합니다. 파일 내에 LOG_LEVEL이라는 변수를 만들고 원하는 로그 레벨 값을 할당하세요.

예를 들어, 다음과 같이 .env 파일을 작성할 수 있습니다.

LOG_LEVEL=DEBUG

Python 코드에서 로그 레벨 설정하기

이제 Python 코드에서 로그 레벨을 설정해보겠습니다. 먼저, python-dotenv 패키지를 import 해야 합니다.

import os
from dotenv import load_dotenv

load_dotenv() # .env 파일을 로드합니다.

log_level = os.getenv("LOG_LEVEL") # 환경변수에서 로그 레벨을 읽어옵니다.

if log_level:
    if log_level == "DEBUG":
        # Debug 로그 레벨로 설정합니다.
        # 다른 로그 레벨을 설정하고 싶다면 이 부분을 수정하세요.
        ...
    elif log_level == "INFO":
        # Info 로그 레벨로 설정합니다.
        ...
    elif ...
        # 다른 로그 레벨에 대한 설정을 추가하세요.
        ...

위 코드의 ... 부분에는 각 로그 레벨에 해당하는 로그 설정 코드가 들어가야 합니다.

실행 결과 확인하기

로그 레벨을 변경하여 실행해보세요. 예를 들어, .env 파일의 LOG_LEVELDEBUG에서 INFO로 변경하면 Info 레벨 로그까지만 출력됩니다.

python-dotenv를 사용하여 로그 레벨을 설정하면 코드를 수정하지 않고도 로그 레벨을 변경할 수 있어 편리합니다. 로그 레벨을 미리 설정하고 필요에 따라 변경하여 개발과 디버깅을 더욱 효과적으로 수행할 수 있습니다.

참고 링크: python-dotenv 공식 문서