<分区>
例如,在我的 python 代码中,我将字典传递给记录器。
extra_info = {"test":"data"}
logger.info("",extra=extra_info)
我希望得到额外的信息来打印,我认为它在消息中但是当我使用这种格式时
format=%(asctime)s %(levelname)s %(name)s: %(message)s
没有打印 extra_info 内容。我只是得到以下内容
2016/06/17 13:10:47 INFO test:
根据logging docs
, extra
关键字参数用于向日志记录添加额外的上下文。
您可以通过添加 dict 键在格式化程序中使用通过 extra
参数传递的信息:
format = '%(asctime)s - %(levelname)s - %(name)s - %(message)s - %(EXTRA_DICT_KEY)s'
请注意,如果您像这样设置格式化程序并忘记传递字典键,您将得到一个字符串格式化异常。
正如您在示例中看到的,您没有在格式化程序中指定任何键。
所以,而不是:
format = '%(asctime)s - %(levelname)s - %(name)s - %(message)s'
尝试:
format = '%(asctime)s - %(levelname)s - %(name)s - %(message)s - %(test)s'