使用 Waitress、Flask 和 Python 将请求记录到文件中

tok*_*tok 5 python logging flask waitress

我需要将 http 请求记录到运行 Flask 应用程序的女服务员服务器中的文件中。我想将 Flask 应用程序与服务器分开,所以我创建了一个文件

myapp_waitres.py

from myflaskapp import app
from waitress import serve
from paste.translogger import TransLogger
import logging.config
import os

BASE_DIR = os.getcwd()
log_ini_file = os.path.join(BASE_DIR, "mylog.ini")

logging.config.fileConfig(log_ini_file)
logger = logging.getLogger('waitress')

serve(TransLogger(app, setup_console_handler=False))
Run Code Online (Sandbox Code Playgroud)

并像运行服务员服务器一样

python myapp_waitress.py
Run Code Online (Sandbox Code Playgroud)

我应该在 mylog.ini 文件中放入什么以使女服务员将请求记录到文件中?我已经多次阅读https://docs.pylonsproject.org/projects/waitres/en/stable/logging.html但作为一个新的 pythonist 无法理解它。我想要的是来自 Waitress 的文件日志记录的简单示例。

c89*_*f64 0

不确定这是否适用于您的情况,但 Flask 提供了一个装饰器函数来记录请求

from flask import request

@app.before_request
def log_the_request():
    logger(request)
Run Code Online (Sandbox Code Playgroud)