[python] Flask-RESTful에서 로깅을 통한 디버깅 기능 추가하기

Flask-RESTful은 파이썬 웹 프레임워크인 Flask의 확장 모듈로, RESTful API를 쉽게 개발할 수 있도록 도와줍니다. 이번에는 Flask-RESTful을 사용하여 디버깅을 위한 로깅 기능을 추가해보겠습니다.

1. Flask-RESTful과 로깅 모듈 설치하기

먼저, Flask-RESTful과 파이썬의 기본 로깅 모듈인 logging을 설치해야 합니다. 아래의 명령어를 이용하여 설치합니다.

pip install flask-restful

2. 로깅 설정하기

Flask-RESTful에서 로깅을 사용하기 위해서는 로깅 모듈을 초기화하고 설정해야 합니다. 애플리케이션의 진입점 파일(예: app.py)에 다음과 같이 코드를 추가합니다.

import logging
from flask import Flask
from flask_restful import Api

app = Flask(__name__)
api = Api(app)

# 로깅 설정
logging.basicConfig(level=logging.DEBUG)

위의 코드에서는 기본적인 로깅 설정을 수행합니다. basicConfig() 함수의 level 파라미터를 logging.DEBUG로 설정하여 디버그 수준의 로그를 출력하도록 합니다.

3. 로깅 사용하기

이제 로깅을 사용하여 디버깅 정보를 출력해보겠습니다. Flask-RESTful은 HTTP 요청과 응답에 대한 로깅을 자동으로 수행해주므로, 추가적인 설정이 필요하지 않습니다.

예를 들어, GET 메서드를 처리하는 리소스를 구현해보겠습니다.

from flask_restful import Resource

class HelloWorld(Resource):
    def get(self):
        app.logger.debug('GET 요청이 들어왔습니다.')
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

위의 코드에서는 HelloWorld 클래스를 정의하고, get 메서드를 구현한 후 app.logger.debug()를 사용하여 디버그 정보를 출력하고 있습니다.

4. 로그 확인하기

이제 서버를 실행시키고, 웹 브라우저나 API 테스트 도구를 통해 GET 요청을 보내보겠습니다. 서버의 터미널 출력 또는 로그 파일을 확인하여 디버그 정보가 정상적으로 출력되는지 확인할 수 있습니다.

마무리

이렇게 Flask-RESTful에서 로깅을 사용하여 디버깅 기능을 추가하는 방법을 알아보았습니다. 로깅은 애플리케이션의 동작을 추적하고 원인 분석을 위한 중요한 도구이므로, 항상 적절한 수준으로 로그를 출력하도록 설정해야 합니다.

더 자세한 내용은 Flask-RESTful의 공식 문서를 참고하시기 바랍니다.

Happy coding!