【发布时间】:2021-03-29 08:28:51
【问题描述】:
我有一个 FastAPI 应用程序。当它收到请求时,它会调用一堆生成大量日志的异步方法。我想使用来自该请求的参数(这是来自另一个应用程序的请求 ID)为特定请求的日志的每一行添加一个前缀。
现在我正在使用格式化字符串手动将参数添加到日志中,例如
logger.info(f"[{data['request_id']}] ...")
有没有办法自动为请求的日志添加一个来自该请求的参数?
【问题讨论】:
我有一个 FastAPI 应用程序。当它收到请求时,它会调用一堆生成大量日志的异步方法。我想使用来自该请求的参数(这是来自另一个应用程序的请求 ID)为特定请求的日志的每一行添加一个前缀。
现在我正在使用格式化字符串手动将参数添加到日志中,例如
logger.info(f"[{data['request_id']}] ...")
有没有办法自动为请求的日志添加一个来自该请求的参数?
【问题讨论】:
要么每次手动将请求对象传递给函数,然后函数使用请求对象中的数据,要么将请求的所谓“状态”存储在某处(例如数据库)并从不同的功能。不过,后一种方法需要端点函数和被调用的函数之间进行某种通信。
对于其余部分,我不知道有任何其他方法可以完成您的要求。也许有一些日志库允许这样的事情,但我不知道其中任何一个。
【讨论】: