我有一个python flask微服务,其中我们使用的是python的logging library。我想在日志中为每个会话添加请求会话ID或任何其他唯一ID,这样我就可以轻松地grep该特定请求的日志。
我们在java中有一个微服务,其中我们使用this.做了同样的事情。我想在python.How中做同样的事情,我能做到吗。
此外,我们已经在我们现有的代码中有很多日志,我希望通过修改现有的日志调用(或者可能是一些小的修改,比如向日志函数传递一些参数)来实现这一点。
目前,我们的日志格式如下所示
formatter = logging.Formatter('[%(asctime)s] - [%(threadName)s] [%(thread)d] - %(levelname)s in %(module)s at %(lineno)d: %(message)s')
发布于 2021-09-28 15:04:24
或者将use an adapter or add a filter添加到日志中。适配器将包装您的记录器,而使用过滤器您将修改LogRecord对象。
使用适配器的工作原理如下所示:
import logging
# either user flasks builtin app.logger, or replace with your own logger
request_id = 123 # implement however you prefer
app.logger = CustomAdapter(app.logger, {'request_id': request_id})
并在格式化程序中的某处使用%(request_id)s
。app.logger
是flask提供的标准记录器。
https://stackoverflow.com/questions/69363431
复制相似问题