Flask 모든 request 로깅 예제

Jmnote (토론 | 기여)님의 2021년 7월 9일 (금) 02:08 판 (→‎참고)

1 개요

Flask 모든 method, path, data 로깅 예제
from flask import Flask
from flask import request
from logging.config import dictConfig
dictConfig({
    'version': 1,
    'formatters': {'default': {'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s'}},
    'handlers': {'wsgi': {'class': 'logging.StreamHandler', 'formatter': 'default'}},
    'root': {'level': 'DEBUG', 'handlers': ['wsgi']}
})
application = app = Flask(__name__)

@app.route('/', defaults={'path': ''})
@app.route('/<path:path>', methods=['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', 'PATCH'])
def catch_all(path):
    app.logger.debug('[%s][%s][%s]', request.method, path, request.get_data())
    return 'hello'

if __name__ == "__main__":
    app.run(host='0.0.0.0')

2 같이 보기

3 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}