[python] Poetry를 사용하여 파이썬 프로젝트의 응용 프로그램 로깅과 디버깅을 쉽게 구현할 수 있습니다.

로그 및 디버깅은 파이썬 프로젝트 개발 및 유지 관리 과정에서 매우 중요한 부분입니다. 어떤 문제가 발생하더라도 로그를 통해 문제를 파악하고, 디버깅을 통해 문제를 해결할 수 있습니다. 이를 위해 Poetry와 함께 로깅 및 디버깅을 구현하는 방법에 대해 알아보겠습니다.

1. Poetry 설치 및 설정

Poetry는 의존성 관리 및 프로젝트 빌드 도구로 사용됩니다. 우선 Poetry를 설치하고 프로젝트를 설정해야합니다. 다음 명령어를 사용하여 Poetry를 설치합니다.

$ curl -sSL https://install.python-poetry.org | python -

Poetry가 설치되었다면, 프로젝트 디렉토리로 이동하여 Poetry를 초기화합니다.

$ cd my_project_directory
$ poetry init

이제 Poetry는 프로젝트의 의존성 및 설정을 관리하기 위해 사용될 수 있습니다.

2. 의존성 관리

Poetry를 사용하여 프로젝트의 의존성을 쉽게 관리할 수 있습니다. Poetry는 pyproject.toml 파일에 프로젝트의 의존성을 기록합니다. 사용해야하는 로깅 및 디버깅 라이브러리를 프로젝트 의존성에 추가해보겠습니다.

$ poetry add logging

위 명령어를 사용하여 프로젝트에 로깅 라이브러리를 추가할 수 있습니다. 이렇게 하면 Poetry가 의존성을 관리하고 필요한 패키지를 설치합니다.

3. 로깅 구현

이제 로깅을 구현해보겠습니다. logging 모듈을 사용하여 간단한 로그를 기록하는 코드를 작성해보겠습니다.

import logging

logging.basicConfig(level=logging.INFO)

logger = logging.getLogger(__name__)

logger.info("This is an informational message.")
logger.debug("This is a debug message.")
logger.warning("This is a warning message.")
logger.error("This is an error message.")

위 코드에서는 logging 모듈을 가져와 기본 로그 레벨을 설정하고, 로거를 만들어 다양한 유형의 메시지를 기록합니다.

4. 디버깅 설정

Poetry를 사용하여 파이썬 프로젝트의 디버깅을 쉽게 설정할 수 있습니다. 프로젝트에 디버깅을 위한 패키지를 추가하고, .env 파일을 사용하여 디버그 환경 변수를 설정해보겠습니다.

$ poetry add -D ipdb

위 명령어를 사용하여 디버깅을 위한 ipdb 패키지를 프로젝트 의존성으로 추가합니다. -D 플래그는 개발 의존성으로 패키지를 추가하는 것을 의미합니다.

.env 파일을 만들고 다음과 같이 환경 변수를 설정합니다.

PYTHONBREAKPOINT=ipdb.set_trace

위 환경 변수는 Python 디버그 모드를 설정하고, ipdb를 사용하여 중단점을 설정합니다.

5. 디버깅 실행

이제 디버깅을 실행할 준비가 되었습니다. 디버그 모드에서 파이썬 프로그램을 실행하면 ipdb를 사용하여 중단점을 설정할 수 있습니다.

def divide(a, b):
    result = a / b
    return result

if __name__ == "__main__":
    import ipdb; ipdb.set_trace()
    divide(10, 0)

위 코드에서는 ipdb.set_trace()를 사용하여 중단점을 설정하고, 예외가 발생하는 코드를 실행합니다. 디버그 모드에서 프로그램이 중지되고, ipdb 프롬프트가 나타날 것입니다. 이제 디버깅에 대한 제어를 얻을 수 있습니다.

Poetry를 사용하여 파이썬 프로젝트의 로깅과 디버깅을 쉽게 구현할 수 있습니다. 로깅을 통해 프로그램의 상태를 추적하고, 디버깅을 통해 문제를 해결할 수 있습니다. Poetry를 사용하여 프로젝트를 관리하면 의존성 관리 및 환경 설정이 용이해집니다.


참고 자료