Python' with'和记录的额外参数

时间:2018-02-28 13:03:47

标签: python logging with-statement

是否可以通过with功能向记录器添加额外信息?

我需要这样的东西

some_class.py
def some_function():
   with monitoring.context(1, 2):
       logger.info('message')

monitoring.py

@contextmanager
def context(id, id2):
   //any way how to adds ids to formatter
   yield

感谢' s

1 个答案:

答案 0 :(得分:1)

def some_function():
   with monitoring.context(1, 2) as ctx_dict:
       logger.info('message', **ctx_dict)

def context(id, id2):
   yield {'some': id, 'another': id2}

当然,logger.info的API必须接受someanother个关键字参数。