"Flask 모든 request 로깅 예제"의 두 판 사이의 차이

41번째 줄: 41번째 줄:
* https://flask.palletsprojects.com/en/2.0.x/patterns/singlepageapplications/
* https://flask.palletsprojects.com/en/2.0.x/patterns/singlepageapplications/
* https://stackoverflow.com/questions/16611965/allow-all-method-types-in-flask-route
* https://stackoverflow.com/questions/16611965/allow-all-method-types-in-flask-route
* https://gist.github.com/alexaleluia12/e40f1dfa4ce598c2e958611f67d28966


[[분류: Flask]]
[[분류: Flask]]

2021년 7월 9일 (금) 02:27 판

1 개요

Flask 모든 method, path, data 로깅 예제

2 예제 1

  • 환경변수 FLASK_ENV=development
from flask import Flask
from flask import request
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')

3 예제 2 ★

from flask import Flask
from flask import request
from logging.config import dictConfig
application = app = Flask(__name__)

@app.after_request
def after_request(response):
    app.logger.error('[%s] %s %s %s %s %s', response.status, request.method, request.remote_addr, request.scheme, request.full_path, request.get_data())
    return response

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

4 같이 보기

5 참고

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