【发布时间】:2016-10-10 19:56:14
【问题描述】:
我希望将以下日志点添加到我的应用程序中,并在控制台上显示extra的全部内容,例如,
logger.info('Status', extra={'foo':data})
logger.info('Status', extra={'bar':data})
logger.info('Status', extra={'foo':data, 'bar':data})
我希望看到:
2016-10-10 15:28:31,408, INFO, Status, foo=data
2016-10-10 15:38:31,408, INFO, Status, bar=data
2016-10-10 15:48:31,408, INFO, Status, foo=data, bar=data
这甚至可能吗?根据官方日志记录文档,Formatter 必须设置一个格式字符串,该字符串需要 foo 和 bar 但在我的情况下,我想要的只是在事先不知道 @ 的情况下转储 extra 的整个 kwargs 987654329@和bar。
【问题讨论】:
-
看看bugs.python.org/file4410/logging.py。我没有时间制作一个完整的示例,但我认为您可以滥用 LogRecord 上的 args attr 并传入一个字典。