我正在 FastAPI python 上为字典构建 API。
我是这个框架的新手,但我有点喜欢它,所以我想尝试一下。
作为要求的一部分,要求之一是将每个 HTTP 请求记录到我的项目内的特定文件 .log 文件中,而不是在服务器端。
我尝试使用中间件,但我无法弄清楚..
因此,如果你们对如何做到这一点有任何想法,请帮助我,因为我找不到太多关于这个主题的信息。
因此,在我的 API enpdoints(例如 mysite.com/words)中生成的每个请求,我都必须将其记录在文件中,包括时间戳和其他一些不重要的信息,因为这是详细信息的一部分,但我想要的只是是能够获取每个请求并将它们记录到文本文件中..
提前谢谢您..
最佳答案
我在我的项目中使用 yaml 配置文件,它看起来像这样记录来自 uvicorn 的所有内容:
version: 1
disable_existing_loggers: no
formatters:
simple:
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
handlers:
...
uvicorn:
class: logging.handlers.TimedRotatingFileHandler
level: DEBUG
formatter: simple
when: D
backupCount: 0
filename: ./logs/uvicorn.log
loggers:
...
uvicorn:
level: INFO
handlers: [uvicorn]
propagate: yes
qualname: uvicorn
您可以将其改编为代码或仅在配置文件中使用它
关于python - 将 FastAPI 中的请求记录到项目目录中的特定文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60385797/