Ago*_*Ago 9 python logging python-3.x
我想记录用户会话。目前代码如下(省略设置formatter和handlers):
logger = logging.getLogger("component")
logger.info("message", extra={"session": 123})
logger.debug("debug", extra={"session": 123})
Run Code Online (Sandbox Code Playgroud)
如果要记录多条消息,则每次都发送这些额外信息会很烦人。实现类似目标的最佳/最干净/最Python式的方法是什么:
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
Run Code Online (Sandbox Code Playgroud)
我可以考虑扩展记录器并覆盖记录方法。
创建一个LoggerAdapter
指定的@DhruvPathak。根据LoggerAdapter
s签名:
class logging.LoggerAdapter(logger, extra)
Run Code Online (Sandbox Code Playgroud)
您可以通过在初始化期间提供记录器实例和extra
参数来做到这一点:
logger = logging.LoggerAdapter(logger, extra)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7949 次 |
最近记录: |