gpt4 book ai didi

python - 将自定义值传递给记录器而不是每条消息

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:08 27 4
gpt4 key购买 nike

我想记录用户 session 。目前代码如下(省略设置formatter和handlers):

logger = logging.getLogger("component")
logger.info("message", extra={"session": 123})
logger.debug("debug", extra={"session": 123})

如果要记录多条消息,每次都发送这些额外的信息会很烦人。实现类似目标的最佳/最干净/最 pythonic 方法是什么:

logger = logging.getLogger("component")
# for example:
logger.addExtra({"session": 123})
logger.info("message") # extra would be added automatically
logger.debug("debug") # extra would be added automatically

我可以考虑扩展记录器并覆盖记录方法。

最佳答案

按照@DhruvPathak 指定的方式创建一个LoggerAdapter。根据LoggerAdapters signature :

class logging.LoggerAdapter(logger, extra)

您可以通过在初始化期间提供记录器实例和 extra args 来做到这一点:

logger = logging.LoggerAdapter(logger, extra)

关于python - 将自定义值传递给记录器而不是每条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39286145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com