Python记录器适配器记录额外的键工作参数

2022-05-21 06:49:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用LoggerAdapter创建一个定制的logger类。我希望这个类能够更新上下文对象(使用关键字参数),然后每当记录消息时,将所有关键字参数的字典与消息一起传入。例如:

logger = logging.getlogger(__name__)
logger.log('Some test message', extra={someKey='someValue'})
logger.log('Another test message')

结果是:

'{message: "Some test message", someKey: "someValue"}'
'{message: "Another test message", someKey: "someValue"}'

对于这个用例,使用LoggerAdapter是正确的方法吗


Tags: 对象testlog消息message参数字典记录anothersome关键字loggerloggeradaptersomevaluesomekey
1条回答
网友
1楼 ·

似乎是这样。像这样的

logger = logging.getlogger(__name__)
logger = logging.LoggerAdapter(logger, {someKey='someValue'})
logger.log('Some test message')
logger.log('Another test message')

您可以随意更改logger.extra,包括用

logger.extra = None