[python] FastAPI에서 로깅 처리하기

FastAPI는 파이썬으로 빠르게 API를 작성할 수 있도록 도와주는 웹 프레임워크입니다. 이러한 웹 응용 프로그램에서 로그를 기록하는 것은 매우 중요합니다. 로깅을 통해 시스템의 동작, 오류, 경고 및 기타 유용한 정보를 기록하여 애플리케이션을 디버그하고 모니터링할 수 있습니다.

이번 글에서는 FastAPI 애플리케이션에서 로깅 처리하는 방법에 대해 살펴보겠습니다.

1. 로깅 라이브러리 가져오기

먼저, FastAPI 애플리케이션에서 로깅을 처리하기 위해 기본 로깅 라이브러리인 ‘logging’을 가져와야 합니다.

import logging

2. 로거 설정하기

다음으로, 로그를 위한 로거(logger)를 설정해야 합니다. FastAPI 애플리케이션으로부터 직접적으로 생성된 로그 이외에 별도의 로거를 설정하여 로그 레벨, 포멧, 핸들러를 정의합니다.

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)

logger.addHandler(stream_handler)

위 코드에서는 __name__으로부터 로거를 생성하고, 로그 레벨을 DEBUG로 설정하고 있습니다. 또한, 포맷터를 설정하고, 스트림 핸들러를 추가하여 콘솔에 로그를 출력하도록 만들었습니다.

3. 로깅 예제

로거를 설정한 후에는 해당 로거를 사용하여 로그를 기록할 수 있습니다. 아래는 간단한 예제입니다.

logger.debug('This is a debug message')
logger.info('This is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')

결론

FastAPI 애플리케이션에서 로깅을 정상적으로 처리하기 위해서는 기본 로깅 라이브러리를 사용하여 로거를 설정하고, 해당 로거를 활용하여 로그를 기록할 수 있어야 합니다. 로깅은 애플리케이션을 디버깅하고 문제를 파악하는 데 필수적이므로, 적절한 로깅 설정은 매우 중요합니다.